内容如下: 
  
          父类A 
A的子类  B          C 
B的子类  B1,B2  C的子类C1,C2 
我想把它映射到数据库中表,其中 A与B,C的要求是  一个子类对应一张表 B,C与他们的子类B1,B2,C1,C2的要求是 父类与子类用一张表 即最后数据库中生成的表一共有两张 不知我把问题描述清楚了没有 我在处理A与B,C的关系时使用的是 <union-class>,感觉再往下写不正确了。。 在hibernate中,如果要使子类和父类共用一张表时,可以这么写 <class ...> 
  <id ...> 
  </id> 
  <discriminator ...> 
  </discriminator> 
  ... 
  <sub-class discriminatro-value="..."> 
  ... 
  </sub-class> 
</class> 但是像我上面(帖子主题)的情况下,使用了 <union-class>,就没法往里加 
<discriminator> 和 <subclass> 了... 
请老紫竹老师帮忙分析一下 ...
谢谢了

解决方案 »

  1.   

    可以参考下!<?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.name.hibernate">
    <class name="Animal" table="t_animal" lazy="false">
    <id name="id">
    <generator class="native"/>
    </id>
    <discriminator column="type" type="string"/>
    <property name="name"/>
    <property name="sex"/>
    <subclass name="Pig" discriminator-value="P">
    <property name="weight"/>
    </subclass>
    <subclass name="Bird" discriminator-value="B">
    <property name="height"/>
    </subclass>
    </class>
    </hibernate-mapping>