MappedSuperclass中的双向关系

时间:2010-11-25 10:03:03

标签: hibernate jpa

在JPA2.0规范中写道:

  

由a定义的持久关系   映射的超类必须是   单向的。

为什么不能在@MappedSuperclass类中使用双向关系?我在Hibernate中尝试过,看起来它有效,可能有问题吗?

我们正在生成我们的模型,因此我们需要在@MappedSuperclass类中指定所有关系,并使用仅包含手写代码的@Entity类扩展此类。

1 个答案:

答案 0 :(得分:1)

我猜这是因为映射的超类不能拥有自己的表,因此会持久保存到子类的表中,如果映射的超类有多个子类,那么关系返回从另一边没有一个FK可以跟随到达映射的超类信息。这样,大多数JPA实现都允许它,但通常在映射超类的单个子类时。

显然你必须向JPA EG询问他们的原因,因为他们没有在他们的规范中提及它们。