在Hibernate中映射多级继承

Hen*_*ing 7 java orm inheritance hibernate

目前我有这样的结构:

A
|
+--B
|
+--C
Run Code Online (Sandbox Code Playgroud)

它使用连接表映射每个子类一个表.由于历史原因,我也使用了鉴别器,所以目前的情况如Hibernate手册第9.1.3节所述.

问题:如何扩展这样的结构的映射:

A
|
+--B
|  |
|  D
|
+--C
Run Code Online (Sandbox Code Playgroud)

<subclass>可以<subclass>在hibernate映射吗?什么<key>我需要S'

shy*_*yam 6

未经测试但是,根据您发布的链接,如果您使用的是hibernate3

<hibernate-mapping>
  <class name="A" table="A">
    <id name="id" type="long" column="a_id">
      <generator class="native"/>
    </id>
    <discriminator column="discriminator_col" type="string"/>
    <property name="" type=""/>
    <!-- ... -->
  </class>
  <subclass name="B" extends="A" discriminator-value="B">
    <!-- ... -->
  </subclass>
  <subclass name="D" extends="B" discriminator-value="D">
    <!-- ... -->
  </subclass>
  <subclass name="C" extends="A" discriminator-value="C">
    <!-- ... -->
  </subclass>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)