在JPA2.0规范中写道:
由a定义的持久关系 映射的超类必须是 单向的。
为什么不能在@MappedSuperclass类中使用双向关系?我在Hibernate中尝试过,看起来它有效,可能有问题吗?
我们正在生成我们的模型,因此我们需要在@MappedSuperclass类中指定所有关系,并使用仅包含手写代码的@Entity类扩展此类。
答案 0 :(得分:1)
我猜这是因为映射的超类不能拥有自己的表,因此会持久保存到子类的表中,如果映射的超类有多个子类,那么关系返回从另一边没有一个FK可以跟随到达映射的超类信息。这样,大多数JPA实现都允许它,但通常在映射超类的单个子类时。
显然你必须向JPA EG询问他们的原因,因为他们没有在他们的规范中提及它们。