hibernate中继承映射配置详细解析(三)

     本例模仿的是每个类映射一张表的信息,例如动物,猴子,猫,所以一共有三张表,下面是修改映射配置文件信息,其他文件如需参考,请参考我的上篇文章《hibernate中继承映射配置详细解析(二)》

Animal.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">


<!--映射文件:映射一个实体类对象,描述一个对象最终可以直接保存对象数据到数据库中  -->
<!-- package:要映射的对象所在的包(可选,如果不指定,此文件下所有的类都要指定全路径) 
    auto-import 默认为true,在写HQL的时候自动导入包名
            如果指定为false,在写HQL的时候必须要写上类的全名-->
<!-- 
	继承映射, 所有的子类都映射到一张表
 -->
<hibernate-mapping package="cn.itcast.e_extends3">
	<class name="Animal" table="t_animal">
	   <id name="id">
	      <generator class="native"></generator>
	   </id>
	  <property name="name"></property>
	  
	  <joined-subclass name="Cat" table="t_cat">
	      <key column="t_animal_id"></key>
	      <property name="catchMouse"></property>
	  </joined-subclass>
	   <joined-subclass name="Monkey" table="t_monkey">
	      <key column="t_animal_id"></key>
	      <property name="eatBanana"></property>
	   </joined-subclass>
	</class>
	

</hibernate-mapping>

总结:

       一个映射文件,存储所有的子类; 子类父类都对应表;

       缺点:表结构比较复杂,插入一条子类信息,需要用2条sql:往父类插入、往子类插入!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值