【学习笔记】Hibernate继承映射之二_用多张表映射1

【回顾】Hibernate继承映射之一_用一张表映射


这次给大家带来的是继承映射的第二种方法:用多张表映射,每张表只有自己独立的信息,没有公共字段!

映射情景回顾以及各实体类在这里就不重复写了,需要的都在: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>


你可能感兴趣的:(Hibernate,学习笔记,继承映射,论坛系统)