Repository 是 TypeORM 里最实用的日常入口之一。
官方心智很准确:
Repository = 只服务某个具体实体的施工班组
EntityManager = 全工地通用调度室例如:
const userRepository = dataSource.getRepository(User);
const user = await userRepository.findOneBy({ id: 1 });
user!.nickname = "new-name";
await userRepository.save(user!);你可以把它理解成:
UserRepository
= 专门负责 users 这栋楼的施工班组它最常做的是:
createsavefindfindOnefindByupdatedeletesoftDeletecount
#一个小片段:创建和查询
const user = userRepository.create({
email: "lin@city.dev",
nickname: "Lin",
});
await userRepository.save(user);
const activeUsers = await userRepository.findBy({
isActive: true,
});#create 和 save 不要混
很多新手会以为:
create = 已经插入数据库不是。
create = 先在内存里组装一张待施工蓝图
save = 才是真正下场施工