gpt4 book ai didi

java - JPA 模块化和实体关系

转载 作者:行者123 更新时间:2023-11-30 11:23:41 25 4
gpt4 key购买 nike

我正在尝试将单一的 ERP 拆分为多个模块(销售、库存、财务...),以便它们可以作为一个单元或以任何组合的形式出售。当我使用 JPA 时,问题就出现在处理外键时,因为它们被表示为集合。如果每个模块在一个单独的 jar 文件中,都有自己的一组实体,那么它们之间如何关联?我应该摆脱 FK 吗?如果是这样,继续使用 JPA 有什么意义?

最佳答案

我认为你有三个选择,没有一个是防弹的:

  1. 以某种方式分享共同的实体。例如,很明显,每个包中都使用了 Customer 实体。当然最好的办法是把所有的entity都打包在一个entity jar里,卖其他包的时候提供。毕竟您销售的是业务逻辑,而不是实体映射。

  2. 进行一些丑陋的抽象,摆脱 FK。这样,您将不得不更改代码。例如,您可以使用嵌入式 (relatedEntityClass, relatedEntityId) 而不是关联来自其他模块的实体。使用此解决方案,当您需要加入/急切加载另一个实体时,您将遇到问题,例如。

  3. 出售整个代码并使用一些密码/在线激活来启用模块。

关于java - JPA 模块化和实体关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21049110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com