我有一个实体类和一个实体DAO类。
DAO类的责任是创建实体类的实例,还是应该有一个实体创建者/管理器类,它只使用DAO类从数据库中获取数据来创建实体类。
谢谢,
克里斯
答案 0 :(得分:1)
DAO应该负责从数据存储区加载持久对象并返回瞬态实例。为什么在这里添加另一层抽象?
为了创建新实体,可能涉及工厂(或汇编程序)。但是,通常这只有在实体创建足够复杂时才合理。在大多数情况下,一个简单的构造函数就可以满足要求。
答案 1 :(得分:0)
我通常让DAO知道实体组件并返回一个完全水合的实体。为什么?因为,DAO通常仅用于支持该实体。如果它的角色不一定支持该实体或相关实体,那么您可能希望查看一个中间层。
答案 2 :(得分:0)
我假设你在谈论一个持久性实体和一些管理持久性的东西。在我看来,使用工厂简单地创建POJO是没有价值的。使用常规方法,然后使用DAO
,EntityManager
,无论如何,来处理持久性。我认为关键是不要让持久性策略/实现过度使用您的业务API。