Hibernate:如何在一个表中加入2个类?

时间:2010-01-27 07:45:34

标签: java hibernate orm jpa

所以,我对Hibernate很新,我遇到了问题。

我有一个抽象类(超类,类Super),以及5个子类,它们应该使用Super类中的属性并添加新的专有(新专栏)

那我该怎么做呢?我应该从java扩展Super类,还是使用JPA注释加入类。

这是第二个问题。如何为2个班级提供1个表格。 有人(比我聪明)告诉我使用 @JoinTable ,但是用谷歌形成我的搜索,我想我需要使用 @Inheritance(strategy = InheritanceStrategy.JOINED)

我可以使用 @JoinTable 吗?

2 个答案:

答案 0 :(得分:5)

你的是继承案例:

  1. @Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE)
  2. 上添加Super注释
  3. 添加@DiscriminatorColumn注释(并设置其属性namediscriminatorType)(再次在Super上)
  4. 在每个子类extend Super上,添加注释@DiscriminatorValue,每个子类的值不同。

答案 1 :(得分:1)

如果您是Hibernate的新手,您应该阅读documentation.解释继承策略here并使用注释来表达继承策略here