union-subclass映射与joined-subclass映射非常相似,子类增加的属性也可以有非空约束------即父类实例的数据保存在父表中,而子类实例的数据则保存在子表中。与joined-subclass不同的是,子类实例的数据仅保存在子类表中,没有在父类表中有任何记录。在这种映射策略下,子类表的字段会比父类表的字段要多,因为子类表的字段等于父类属性加子类增加属性的总和。
Person.hbm.xml :
<?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="db.domain">
<class name="Person" table="persons">
<id name="id" column="id">
<generator class="hilo"/>
</id>
<property name="name" type="string"/>
<property