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