JPA eclipselink加入了没有鉴别器的继承

时间:2012-08-10 11:35:27

标签: inheritance jpa eclipselink discriminator

我们正在为新项目使用JPA。我们有一个继承关系,它有一个判别器。

我们试图从我的超类表中删除discriminimninator字段,但我们无法弄清楚如何使用eclipselink实现这一点。我们知道这可以通过hibernate实现,有没有人知道如何用eclipselink实现这个目标?

您可能想知道我们为什么要实现这一点(我知道使用鉴别器更快,因为它不需要对其他表进行存在检查),这是因为我们尝试实现以下内容:JPA multiple discriminator values (见问题和答案)。

1 个答案:

答案 0 :(得分:3)

我不相信这会按你想要的方式运作。当您查询ID值为1的组织时,您获得的实体可以是组织,客户或供应商。 Java不允许类型一次全部3,至少不是你设置继承的方式。由于组织仍然可以在不是供应商或客户的情况下存在,因此继承对我来说没有意义。

这3个表应代表不同的实体 - 组织可以拥有客户指定和/或供应商名称。