Hibernate继承关联关系映射处理之joined-subclass,以这种方式处理继承关联关系映射,会将继承树中的每一个类都在数据库中进行映射,有着各自对应的数据表。与前两种处理方式,除去配置文件的不同之外,其它部分没有区别,如不了解,请参见前文关于subclass的讨论或者本文最后附上的源码。
配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping default-access="field"> <class name="com.orm.model.Person" table="person" abstract="true"> <id name="id" column="id" type="java.lang.Integer"> <generator class="native"/> </id> <property name="name" column="name" type="java.lang.String"/> <joined-subclass name="com.orm.model.Male" table="male"> <key column="personid"/> <property name="make" column="make" type="java.lang.String"/> </joined-subclass> <joined-subclass name="com.orm.model.Female" table="female"> <key column="personid"/> <property name="maked" column="maked" type="java.lang.String"/> </joined-subclass> </class> </hibernate-mapping>
测试结果截图