Java 如何在hibernate中实现继承?

Java 如何在hibernate中实现继承?,java,hibernate,inheritance,orm,Java,Hibernate,Inheritance,Orm,我拥有以下实体: BaseEntity-->包含用户登录信息,如createdBy、createdTime、EditeBy、EditeTime 员工-->包含姓名、地址等员工信息 regular employee-->其中包含薪资、奖金等字段 及 ContactEmployee-->其中包含小时费率、联系期限等 我的继承结构是 在这种情况下,考虑到所有表都具有 id和版本字段(所有表至少应具有这两个字段)。 我使用了“每类表”模型。这对我现在所做的很有效 discriminator列告诉h

我拥有以下实体:

  • BaseEntity
    -->包含用户登录信息,如createdBy、createdTime、EditeBy、EditeTime
  • 员工
    -->包含姓名、地址等员工信息
  • regular employee
    -->其中包含薪资、奖金等字段 及
  • ContactEmployee
    -->其中包含小时费率、联系期限等
我的继承结构是

在这种情况下,考虑到所有表都具有 id和版本字段(所有表至少应具有这两个字段)。

我使用了“每类表”模型。这对我现在所做的很有效


discriminator列告诉hibernate实例化哪个子类,子类可以有其他子类没有的字段,但表需要有所有列(某些行显然为空)。

pstanton给出的答案是正确的。。但还有一种方法。。与在Java中实现继承相同。请参考以下映射以获得答案

<union-subclass name="Employee" extends="BaseEntity" table="tb_emp" >
</union-subclass>

<class name="BaseEntity" abstract="true">
</class>

但是我觉得,有了这个,你只能获得1级的继承

考虑到所有表都有id和version字段(所有表至少应该有这两个字段),在这种情况下如何设计数据库结构

如果希望所有表都有id版本字段,则必须根据具体的类策略使用表。查看或确定您是否正在使用注释