大多数程序员都同意在使用 JPA 实体时避免使用 DAO 模式。事实上,作为一个简单的 POJO,任何实体都可以仅使用注释来持久化。
但是,在概念域对象与物理域对象(反射(reflect)数据库表)略有不同的情况下,使用表示概念模型的“业务对象”并将持久操作委托(delegate)给“数据存储对象”是一个好习惯吗?因此,业务对象将不受 JPA 注释的约束,因为它现在是数据存储对象的责任。
处理概念域和物理域之间的一些差异的最佳实践是什么?我是否应该引入 DAO 模式以便将每个 BO 转换为“数据存储对象”并对其应用持久化操作?
最佳答案
据我了解,不再需要数据传输对象等。即使您的数据库与域模型不同,您也可以使用 JPA 注释实现很多目标。然而,最佳实践是保持数据模型和域模型同步。
关于java - 当 JPA 实体不应准确反射(reflect)数据库上的物理模型时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10567548/