我正在开发一个使用hibernate的spring restful应用程序。我遇到了必须将jackson json注释放在实体getter上的场景。例如:一对多映射。
将jackson json注释放在hibernate实体上是一个好主意吗?或者我应该使用DTO模式传递UI所需的数据?我最终可能会为每个实体创建一个DTO。
以下是应用程序架构。常见的是根级别。 DAO依赖于Common等。 Common< - DAO< - Services< - Web
DAO有实体 服务或网络可以有DTO的
请让我知道您的想法或建议。
答案 0 :(得分:0)
免责声明:我在此发表意见和经验
单独的dto和实体是常见做法。你选择做什么真的取决于它的用途。在数据模型实体上添加DTO注释的一个缺点是版本控制。当您的数据模型与合同挂钩时,版本控制变得很难。如果您的Web服务仅由您拥有的消费者使用且其部署时间表相同,则可能不值得分离dto / entities。如果您不需要版本控制并且您主要拥有CRUD Web服务,那么您可能需要查看spring数据休息。
如果你没有那么幸运,并且有多个消费者,那么你可能想要考虑一些版本改变以及如何处理它。这将有助于您了解分离数据和合同的价值。