我应该在哪里创建实体对象?

时间:2009-10-15 18:31:59

标签: oop entity entitymanager data-access-layer

我有一个实体类和一个实体DAO类。

DAO类的责任是创建实体类的实例,还是应该有一个实体创建者/管理器类,它只使用DAO类从数据库中获取数据来创建实体类。

谢谢,

克里斯

3 个答案:

答案 0 :(得分:1)

DAO应该负责从数据存储区加载持久对象并返回瞬态实例。为什么在这里添加另一层抽象?

为了创建新实体,可能涉及工厂(或汇编程序)。但是,通常这只有在实体创建足够复杂时才合理。在大多数情况下,一个简单的构造函数就可以满足要求。

答案 1 :(得分:0)

我通常让DAO知道实体组件并返回一个完全水合的实体。为什么?因为,DAO通常仅用于支持该实体。如果它的角色不一定支持该实体或相关实体,那么您可能希望查看一个中间层。

答案 2 :(得分:0)

我假设你在谈论一个持久性实体和一些管理持久性的东西。在我看来,使用工厂简单地创建POJO是没有价值的。使用常规方法,然后使用DAOEntityManager,无论如何,来处理持久性。我认为关键是不要让持久性策略/实现过度使用您的业务API。

相关问题