类继承树映射成一张表
来源:互联网 发布:居住区绿地率一般数据 编辑:程序博客网 时间:2024/04/29 22:45
表结构:
create table j_people2( Id number, Name varchar(20), Age number, type number, School varchar(30), Company varchar(30) );
实体类People:
public class PeopleT implements java.io.Serializable { // Fields private Long id; private String name; private int age; /* private int type; private String school; private String company;*/ //实体类和数据表之间并不是一一对应关系,实体类存在实体类间的关系,数据表存在数据表的构造组织方式,hbm.xml映射文件是关联迁就双方的工具 //本来就不是完全映射的关系 // Constructors /** default constructor */ public PeopleT() { }public Long getId() {return id;}public void setId(Long 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;} }
public class Student extends PeopleT {private String school;public String getSchool() {return school;}public void setSchool(String school) {this.school = school;}}
子类Staff:
public class Staff extends PeopleT{ private String company;public String getCompany() {return company;}public void setCompany(String company) {this.company = company;}}
关键的映射文件:
<hibernate-mapping> <class name="com.sjr.bean.PeopleT" table="J_PEOPLE2" schema="SXBBKF" discriminator-value="not null"> --这里是调整鉴别器的 <id name="id" type="long"> <column name="ID" precision="22" scale="0" /> <generator class="native"></generator> </id> <discriminator column="type" type="int"/> --默认为string,需要转化才可以int等其他类型 <property name="name" type="string"> <column name="NAME" length="20" /> </property> <property name="age" type="int"> <column name="AGE" precision="22" scale="0" /> </property> <subclass name="com.sjr.bean.Student" discriminator-value='1'> <property name="school"></property> </subclass> <subclass name="com.sjr.bean.Staff" discriminator-value='2'> <property name="company"></property> </subclass> <!-- <property name="school" type="string"> <column name="SCHOOL" length="30" /> </property> <property name="company" type="string"> <column name="COMPANY" length="30" /> </property> --> </class></hibernate-mapping>
结果:
Hibernate: select hibernate_sequence.nextval from dualHibernate: select hibernate_sequence.nextval from dualHibernate: insert into SXBBKF.J_PEOPLE2 (NAME, AGE, school, type, ID) values (?, ?, ?, 1, ?)Hibernate: insert into SXBBKF.J_PEOPLE2 (NAME, AGE, company, type, ID) values (?, ?, ?, 2, ?)
0 0
- 类继承树映射成一张表
- 继承映射之每棵类继承树一张表
- 每棵继承树映射成一张表
- 整个继承树映射到一张表
- 14 继承(一)(整个继承树映射到一张表)
- 将整个继承树映射到一张表&将每个类映射到每张表
- Hibernate继承映射之每颗类继承树一张表
- 继承------类表映射-------每个具体类一张表
- 十二、实体继承关系(类继树承结映射成一张表)
- Hibernate继承映射之每个类一张表
- Hibernate继承映射之每个具体类一张表
- hibernate之继承映射,所有类一张表
- 继承(四)每一个具体的类 映射到一张表
- hibernate继承映射策略之每个具体类一张表
- 【SSH快速进阶】——Hibernate继承映射:每棵继承树映射一张表
- 继承关系 为没个类映射一张表
- Hibernate基础------》关系映射---》继承映射-》所有类映射到一张表中(类融合映射或者鉴别器映射)
- Hibernate映射类继承之每个类层次结构一张表(父子类共用一张表,一个映射文件)
- 【c/c++】函数模板和模板函数
- web services用法
- 如何填写xmanager序列号_注册码
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- 给 App 提速:Android 性能优化总结
- 类继承树映射成一张表
- 邮件开发:DNS:查询
- 输入一个网址后的后台响应过程
- Linux文件权限与目录配置【鸟哥私房菜第6章】
- Yii 1.0数据库操作 查询、增加、更新、删除
- Android设备抓包命令及分析
- 【设计模式】观察者模式
- spring注解关键字
- 把android的开发环境配置到Mac上