我们正在建立一个新项目,并决定为 JPA 使用 eclipselink。在创建我们的领域模型时,我们遇到了一个问题。
我们有一个叫做组织的基类。我们还有供应商和客户,它们都扩展了组织。当 JPA 创建表时,我看到它使用了一个鉴别器,问题在于供应商也可以是一个组织。
所以我基本上想要的是(这些是数据库表来获得这个想法):
一个小例子来帮助澄清这一点:
我们有一个客户叫 SparklingGlass。SparklingGlass 从我们这里购买计算机,因此 SparklingGlass 被保存为我们的客户。我们反过来从 SparklingGlass 购买窗户,因此 SparklingGlass 也是我们的供应商。这就是我们想要在我们的系统中实现的。
这在 JPA 中是否有可能,如果没有,在这些情况下最佳实践是什么?
顺便说一句,我们使用 JOINED 继承类型