或者创建一个由域模型组成的域层,并与JPA实体交谈以进行数据库访问? 两种方法的优缺点是什么?谢谢!
答案 0 :(得分:14)
这实际上取决于您对域名进行编码的方式。
一般情况下(在Java中)我更喜欢创建一组单独的JPA带注释的DTO来处理持久性。此类DTO将匹配db表,并将在
的自定义存储库中使用这种方法使域模型真正与db模式分离,以便您可以独立地进化。这种方法的缺点是你有更多的代码要编写,但我发现这样的代码编写维护非常简单和便宜。
在实体上使用JPA注释是一种非常常见的方法,但随着您的域模型的发展变得越来越复杂,我自己的经验是您必须面对比其他解决方案更昂贵的问题。