JPA可以处理接口引用吗?

时间:2011-07-17 08:11:13

标签: jpa jpa-2.0

我有以下3个实体:

  • 实体类A实现接口X
  • 实体类B实现接口X
  • 实体类C

我希望实体类C能够保存对类型X的实体的引用,即:A或B。

是否可以在C中没有两个参考字段的情况下执行此操作,例如:

@ManyToOne私人C父母;

或者我是否需要为每个C实现提供一个参考并自己完成作业?

2 个答案:

答案 0 :(得分:3)

不。 JPA没有为接口类型的字段/属性定义持久性。 JDO是唯一允许这样做的持久性规范。

你唯一能做的就是拥有一个共同的基类,但这对你的模型来说可能是不可能的。

答案 1 :(得分:1)

未在JPA规范中定义,但如果使用EclipseLink,则可以使用@VariableOneToOne映射。

请参阅, http://en.wikibooks.org/wiki/Java_Persistence/Advanced_Topics#Interfaces