实体管理器和存储库类型定义之间的区别

时间:2020-04-17 14:16:53

标签: node.js typeorm

我不了解typeorm中的Entity Manager和Repository之间的区别。他们似乎做同样的事情。如果相同,为什么存在两个不同的API。如果不是,则有什么区别以及何时使用它们。

2 个答案:

答案 0 :(得分:1)

实体管理器处理所有实体,而资源库处理单个实体。这意味着,在使用实体管理器时,必须为每个方法调用指定要使用的实体。

这里是Entity ManagerRepository文档中用于比较的create方法的示例:

const manager = getManager();
// ...
const user = manager.create(User); // same as const user = new User();

const repository = connection.getRepository(User);
// ...
const user = repository.create(); // same as const user = new User();

两者均有效,您可以选择自己喜欢的人。

答案 1 :(得分:0)

它做的完全一样,只是一个 alias

随便你

选项 1:

const manager = getManager();
manager.find(Methodology);
manager.find(Infrastructure);
manager.find(Safety);

选项 2:

getRepository(Methodology).find();
getRepository(Infrastructure).find();
getRepository(Safety).find();