在JPA中跳过类层次结构级别

时间:2014-12-17 19:25:50

标签: java jpa eclipselink

在Java EE 7应用程序中,我有一个基本遵循Composite模式的类层次结构。课程如下。每个都有一个@Entity注释。在Base注释的继承策略是@Inheritance(strategy=InheritanceType.JOINED)

  • AbstractContainer(extends Base
  • ConcreteContainer1(extends AbstractContainer
  • ConcreteContainer2(extends AbstractContainer
  • 项目(extends Base

现在,AbstractContainer添加了行为,但没有添加字段。因此,它的表只有一个带有id的列,这完全是多余的。我可以让JPA跳过此表吗?

谢谢,

迈克尔

1 个答案:

答案 0 :(得分:0)

您可能希望将AbstractContainer设为@MappedSuperclass。

  

映射的超类继承允许在继承中使用继承   对象模型,当它在数据模型中不存在时。它很相似   每个类继承表,但不允许查询,   坚持,或与超类的关系。其主要目的是   允许映射信息由其子类继承。

http://en.wikibooks.org/wiki/Java_Persistence/Inheritance#Mapped_Superclasses