hibernate详解(七)---映射继承关系
来源:互联网 发布:floyd算法的流程图 编辑:程序博客网 时间:2024/06/10 22:46
Hibernate支持三种继承映射策略
一.采用 subclass 元素的继承映射
备注:school就是下面的sname
1.建立Person类
package com.eduask.chp.joinsubclass;public class Person {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
2.子类Student类
public class Student extends Person{private String sname;//学校名称public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}}
<hibernate-mapping package="com.eduask.chp.subclass"> <class name="Person" table="PERSONS" discriminator-value="person1"> <id name="id" type="int"> <column name="ID" /> <generator class="native" /> </id> <!-- 辨别者列 --> <discriminator type="string" column="type"></discriminator> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="age" type="int"> <column name="AGE" /> </property> <!-- 映射子类Student,使用subclass --> <subclass name="Student" discriminator-value="student1"> <property name="sname" type="string" column="SNAME"></property> </subclass> </class></hibernate-mapping>
二.采用 joined-subclass 元素的继承映射
修改Person.hbm.xml文件
<hibernate-mapping package="com.eduask.chp.subclass"> <class name="Person" table="PERSONS"> <id name="id" type="int"> <column name="ID" /> <generator class="native" /> </id> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="age" type="int"> <column name="AGE" /> </property> <joined-subclass name="Student" table="STUDENTS"> <key column="student_id"></key> <property name="sname" type="string" column="SNAME"></property> </joined-subclass> </class></hibernate-mapping>
三.采用 union-subclass 元素的继承映射
Person.hbm.xml
<hibernate-mapping package="com.eduask.chp.union.subclass"> <class name="Person" table="PERSONS"> <id name="id" type="int"> <column name="ID" /> <generator class="hilo" /> </id> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="age" type="int"> <column name="AGE" /> </property> <union-subclass name="Student" table="STUDENTS"> <property name="sname" type="string" column="SNAME"></property> </union-subclass> </class></hibernate-mapping>
三者的区别:
阅读全文
0 0
- hibernate详解(七)---映射继承关系
- hibernate 七, 继承映射
- 精通Hibernate之映射继承关系七(图)
- Hibernate 继承关系映射
- Hibernate 继承关系映射
- Hibernate继承关系映射
- hibernate继承关系映射
- Hibernate 映射继承关系
- Hibernate 继承关系映射
- Hibernate 继承关系映射
- Hibernate继承关系映射
- hibernate继承关系映射
- hibernate继承关系映射
- Hibernate 映射继承关系
- hibernate 映射继承关系
- hibernate映射-继承关系
- 继承关系映射详解
- Hibernate(七):继承映射
- 629. K Inverse Pairs【Hard】 动态规划
- 表空间
- SQL优化
- 位运算之——按位与(&)操作
- maven 下载 安装
- hibernate详解(七)---映射继承关系
- 使用Topshelf创建Windows服务
- 3.selenium 处理下拉框 元素
- VS2015 附加进程不能调试程序
- YTU.3174: 链表基本操作---指定结点删除
- 新布局ConstrainLayout属性总结
- Oracle重做日志-OMF管理
- Android开发经验之intent传递大数据
- 简单linux命令