繁体   English   中英

JPA双向关系与存储库/ DAO的使用

[英]JPA Bidirectional Relationships vs Repository/DAO-Use

我已经为此奋斗了一段时间。 我有一个包含30个实体的实体图。 它们中的大多数通过双向关系连接。 有些连接非常有用,有些则没有用,因为它们仅在实体之间删除时才提供便利。

此外,我还有用于创建/查找/存储实体的存储库。 不幸的是,每个实体都有一个存储库,感觉这些存储库是我的对象图中的窗口。 这是推荐的实现方式吗?

由于由维持父/子关联的双向关系引起的样板代码,我想到了替换其中一些双向关系并将其放入存储库的想法。 其中一些关系仅与其他参数结合使用。 让我们以经典的客户<->订单示例为例。 我认为“客户->订单”的方向并不总是那么好,因为有时需要将结果限制在特定时期内。

我的问题是:您建议如何摆脱这场斗争? 为了方便起见,您是否总是在大型项目中使用双向关系? 还是用特定的存储库查询替换它们? 可以为每个实体维护存储库吗?

我被撕了一会儿... :-(

好吧,我认为,要不多了解您的设置就很难说。 你是否使用Spring CrudRepositories ,定制Daos或EntityManager的? 也许这并没有太大的区别,但我对此感到奇怪。

简而言之,最近,我非常高兴地编写了一个包含10个左右Enities和一个服务层的应用程序。 也许可以帮助考虑业务需求并开始构建新的服务层。 尽管有大约30个实体,但您可能只有少数几个业务观点。 客户,显然是订单。 另外,可能是付款,运输,退货。

查看谁在使用该应用程序以及他们如何称呼其部门。 为该部门提供服务。 即使您要复制其他部门的某些代码,也请致电该部门的所有需求。 不要忘记IT部门。 稍后,当您对这些服务的形成方式有了一个很好的了解时,就可以排除一些常见的措施。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM