6.2.1 继承映射:采用joined-subclass元素的继承映射
来源:互联网 发布:无锡淘金网络怎么样 编辑:程序博客网 时间:2024/05/21 16:46
采用这种映射时,父类实例保存在父类表里,而子类实例则由父类表和子类表共同存储。因为子类实例也是一个特殊的父类实例,因此必然也包含了父类实例的属性,于是将子类与父类共有的属性保存在父类表中,而子类增加的属性,则保存在子类表中。
在这种映射策略下,无须使用辨别者列,但需要为每个子类使用<key.../>元素映射共有主键------这个主键列还将参照父类表的主键列。
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="identity"/> </id> <property name="name" type="string"/> <property name="gender" type="string"/> <component name="address"> <property name="detail"/> <property name="zip"/> <property name="country"/> </component> <joined-subclass name="Employee"> <key column="employee_id"/> <property name="title"/> <property name="salary"/> <set name="customers" inverse="true"> <key column="employee_id"/> <one-to-many class="Customer"/> </set> <many-to-one name="manager" column="manager_id"/> <joined-subclass name="Manager"> <key column="manager_id"/> <property name="department"/> <set name="employees" inverse="true"> <key column="manager_id"/> <one-to-many class="Employee"/> </set> </joined-subclass> </joined-subclass> <joined-subclass name="Customer"> <key column="customer_id"/> <property name="comments" not-null="true"/> <many-to-one name="employee" column="employee_id" not-null="true"/> </joined-subclass> </class></hibernate-mapping>运行PersonManager.java ,查看数据库:
当需要查询一个id为5的记录时,Hibernate将从persons表中查询出id为5的数据,并查询出customer表中id为5的记录。将两条记录拼接成一个实例,当然这种拼接是通过一个join SQL语句完成------这也是这种映射策略被称为joined-subclass的原因。
使用joined-subclass继承映射策略,当程序查询子类实例时,需要跨越多个表查询。到底需要跨越多少个表,取决于该子类有多少层父类------这是因为子类的数据依次保存在其多个父类表中。正是因为这种策略,所以joined-subclass继承映射策略对查询性能有一定的影响。
- 6.2.1 继承映射:采用joined-subclass元素的继承映射
- 6.2.1 继承映射:采用subclass元素的继承映射
- 继承关系映射--joined-subclass 元素映射继承关系
- 采用<union-subclass>元素的继承映射
- 6.2.1 继承映射:采用union-subclass元素的继承映射
- hibernate 继承映射 joined-subclass
- hibernate 继承映射 joined-subclass
- hibernate 继承映射joined-subclass
- 继承映射------union-subclass元素的继承映射
- Hibernate继承映射(简单继承,subclass,joined-subclass,union-subclass)
- Hibernate 继承关系 对象关系映射--joined-subclass ,测试 crud
- hibernate 继承映射subclass
- 类的继承(joined-subclass)
- Hibernate继承映射:每个子类一张表(joined-subclass)表结构
- hibernate 继承映射union-subclass
- 在JPA中,实体继承关系的映射策略共有三种:单表继承策略(table per class)、Joined策略(table per subclass)和Table_PER_Class策略。
- Hibernate映射之“继承映射”--subclass
- hibernate继承关系的映射(single_table,class_per_table,joined)
- HTTP Referer
- .NET:用T4消除代码重复,对了,也错了
- 在tq2440板看到U盘汉字乱码问题
- 以后面试看啊。。。
- 一个简单的多线程 pthread_detach
- 6.2.1 继承映射:采用joined-subclass元素的继承映射
- Sentra Touch 试用
- ios 一年开发笔记
- 前端攻略系列
- Subsets II
- 在路上
- GNU C program execute path trace method
- linux中关于dma_alloc_coherent的用法
- 黄淮学院CSDN高校俱乐部云计算机感悟交流会