这次给大家带来的是继承映射的第二种方法:用多张表映射,每张表只有自己独立的信息,没有公共字段!
映射情景回顾以及各实体类在这里就不重复写了,需要的都在:http://blog.csdn.net/nthack5730/article/details/45366983
【因为除了映射文件改变而已】
映射文件,这次只有一个:Article.hbm.xml,之前的都不要
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- This mapping demonstrates -->
<!-- 告诉hibernate需要找哪个表 -->
<hibernate-mapping package="i_hbm_extends2">
<!-- 采用每个类一张表的方式,抽象类也对应表 -->
<class name="Article" table="t_article2">
<id name="id">
<generator class="native"></generator>
</id>
<property name="title" />
<property name="context" type="text" length="20000"/>
<property name="postTime" type="timestamp"/>
<!--
子类:Topic,每一段里面,每一个子类只写自己特有的信息
name:指的是子类的类型名称
-->
<joined-subclass name="Topic" table="topic2">
<key column="id"></key>
<property name="type"></property>
</joined-subclass>
<!--
子类:Reply,每一段里面,每一个子类只写自己特有的信息
-->
<joined-subclass name="Reply" table="reply2">
<key column="id"></key>
<property name="floor"></property>
</joined-subclass>
</class>
</hibernate-mapping>