继承关系树的每个具体类对应一张表
来源:互联网 发布:知乎 阿里 投资 编辑:程序博客网 时间:2024/05/22 03:05
继承关系映射方式一:继承关系树的每个具体类对应一张表
实体对象:
Employee: Integer id; String name; Company company;(不创建表)
Company: Integer id;String name;
HourlyEmployees extendsEmployee:Integer id;String name;Double rate;
SalariedEmployees extendsEmployee:Integer id;String name;Double salary;
关系模型:
company表:
houry_employees表:
salaried_employees表:
映射文件:
Company_hbm.xml
<hibernate-mapping>
<class name="bean.Company"table="company" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
</class>
</hibernate-mapping>
HourlyEmployees.hbm.xml:(映射:自身属性,继承属性,关联关系属性)
<hibernate-mapping package="bean">
<class name="bean.HourlyEmployees"table="hourly_employees" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<property name="rate"type="java.lang.Double">
<column name="rate"precision="15" scale="3"/>
</property>
<many-to-one name="company"column="COMPANY_ID" class="Company" cascade="save-update"lazy="false"/>
</class>
</hibernate-mapping>
Salaried.hbm.xml: (映射:自身属性,继承属性,关联关系属性)
<hibernate-mappingpackage="bean">
<class name="bean.SalariedEmployees"table="salaried_employees" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<property name="salary"type="java.lang.Double">
<column name="salary"precision="15" scale="3"/>
</property>
<many-to-one name="company"column="COMPANY_ID" class="Company" cascade="save-update"/>
</class>
</hibernate-mapping>
————————————————总结———————————————————————
缺点:每个具体类对应一个表,这些表中包含重复字段;如果要查询父类的对象,必须查询所有具体的子类对应的表;如果父类的属性发生变化,必须修改所有具体的子类对应的表;不支持多态查询;
优点:符合关系数据库的设计
- 继承关系树的每个具体类对应一张表
- 继承关系树每个类都对应一张表
- Hibernate 继承映射实现方式之每个具体类对应一张表
- Hibernate 继承映射实现方式之每个具体类对应一张表
- hibernate继承关系映射方法(三)--每个具体类一张表TPC
- 继承------类表映射-------每个具体类一张表
- Hibernate继承映射之每个具体类一张表
- hibernate继承映射策略之每个具体类一张表
- (11)映射继承关系二之每个类对应一张表(@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
- J2EE系列之Hibernate4学习笔记(十)--Hibernate继承关系映射(每个具体类对应一个表)
- Hibernate系列之继承关系:每个类一张表
- Hibernate映射类继承之每个带有隐式多态的具体类一张表(每个子类各一张表,有各自的映射文件)
- Hibernate映射类继承之每个带有联合的具体类一张表(每个子类各一张表,共用一个父类映射文件)
- Hibernate学习笔记:每个具体的类一张表
- Hibernate学习笔记:每个具体的类一张表
- 【SSH快速进阶】——Hibernate继承映射:每个具体类映射一张表
- 继承(四)每一个具体的类 映射到一张表
- hibernate映射继承关系(一):一张表对应一整棵类继承树
- 108. Custom is a second nature. 习惯是后天养成的
- html在线编译器
- 频繁模式挖掘总结
- Struts2 的Action中取得请求参数值的几种方法
- WINCE6.0+S3C6410睡眠和唤醒的实现
- 继承关系树的每个具体类对应一张表
- 第十三周四天
- 继承关系的根类对应一个表
- Eclipse JAVA文件注释乱码
- opM+toplk(ecpL)+eb在glf下的部署
- svn 命令行下常用的几个命令
- wince6.0入门
- 第十三周第五天
- XML详解----Schema