还是创建一个由域模型组成的域层并与 JPA 实体对话以进行数据库访问?两种方法的优缺点是什么?谢谢!
问问题
3456 次
1 回答
17
这确实取决于您如何对域进行编码。
一般来说(在 Java 中)我更喜欢创建一组单独的 JPA 注释 DTO 来处理持久性。此类 DTO 将匹配 db 表,并将在自定义存储库中使用
- 将向客户端公开语义 API
- 将对此类 DTO 运行查询
- 将使用工厂初始化域对象以返回给客户端
这种方法使域模型真正与 db 模式解耦,这样您就可以独立地发展两者。这种方法的缺点是您要编写更多代码,但我发现编写维护这样的代码非常容易且便宜。
在实体上使用 JPA 注释是一种非常常见的方法,但是随着域模型的发展和变得更加复杂,我自己的经验是,您必须面对比其他解决方案更昂贵的问题。
于 2013-04-06T12:17:19.347 回答