或者创建一个由域模型组成的域层并与 JPA 实体对话以进行数据库访问?
两种方法的优缺点是什么?谢谢!
这确实取决于您对域进行编码的方式。
一般来说(在 Java 中)我更喜欢创建一组单独的 JPA 注释的 DTO 来处理持久性。此类 DTO 将匹配数据库表,并将在自定义存储库中使用
- 将向客户端公开语义 API
- 将针对此类 DTO 运行查询
- 将使用工厂初始化域对象以返回给客户端
这种方法使领域模型真正与数据库模式解耦,以便您可以独立地发展两者。这种方法的缺点是您需要编写更多代码,但我发现编写维护此类代码非常容易且便宜。
在实体上使用 JPA 注释是一种非常常见的方法,但随着领域模型的发展并变得更加复杂,我自己的经验是,您必须面对比其他解决方案昂贵得多的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)