我们正在为新项目使用JPA。我们有一个继承关系,它有一个判别器。
我们试图从我的超类表中删除discriminimninator字段,但我们无法弄清楚如何使用eclipselink实现这一点。我们知道这可以通过hibernate实现,有没有人知道如何用eclipselink实现这个目标?
您可能想知道我们为什么要实现这一点(我知道使用鉴别器更快,因为它不需要对其他表进行存在检查),这是因为我们尝试实现以下内容:JPA multiple discriminator values (见问题和答案)。
答案 0 :(得分:3)
我不相信这会按你想要的方式运作。当您查询ID值为1的组织时,您获得的实体可以是组织,客户或供应商。 Java不允许类型一次全部3,至少不是你设置继承的方式。由于组织仍然可以在不是供应商或客户的情况下存在,因此继承对我来说没有意义。
这3个表应代表不同的实体 - 组织可以拥有客户指定和/或供应商名称。