【发布时间】:2013-03-28 02:00:00
【问题描述】:
或者创建一个由域模型组成的域层并与 JPA 实体对话以访问数据库? 两种方法的优缺点是什么?谢谢!
【问题讨论】:
或者创建一个由域模型组成的域层并与 JPA 实体对话以访问数据库? 两种方法的优缺点是什么?谢谢!
【问题讨论】:
这确实取决于您如何编码您的域。
通常(在 Java 中)我更喜欢创建一组单独的 JPA 注释 DTO 来处理持久性。这样的 DTO 将匹配 db 表,并将在自定义存储库中使用
这种方法使域模型真正与 db 模式解耦,这样您就可以独立地发展两者。这种方法的缺点是您要编写更多代码,但我发现编写维护这样的代码非常容易且便宜。
在实体上使用 JPA 注释是一种非常常见的方法,但随着您的领域模型不断发展并变得越来越复杂,我自己的经验是,您必须面对比其他解决方案更昂贵的问题。
【讨论】: