java培训-hibernate继承映射

java培训-hibernate继承映射

ID:10760470

大小:72.95 KB

页数:9页

时间:2018-07-08

java培训-hibernate继承映射_第1页
java培训-hibernate继承映射_第2页
java培训-hibernate继承映射_第3页
java培训-hibernate继承映射_第4页
java培训-hibernate继承映射_第5页
资源描述:

《java培训-hibernate继承映射》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Hibernate继承映射在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。下文将详细介绍Hibernate提供的3种方案。在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说

2、法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3种方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所有继承体系下的类的属性的并集。第三种方案:每个子类使用一张表只存储它特有的属性,然后与父类所对应的表以一对一主键关联的方式关联起来。现在假设有People、Student、Teacher三个类,父类为People,Student与Teacher为People的父类,代码如下:People类:1.public class People 2.{ 3.    /*父类所拥有的属性*/ 4.    priv

3、ate String id; 5.    private String name; 6.    private String sex; 7.    private String age; 8.    private Timestamp birthday; 9.     10.    /*get和set方法*/ 11.} Student类:1.public class Student extends People 1.{ 2.    /*学生独有的属性*/ 3.    private String cardId;//学号 4. 5.    pu

4、blic String getCardId() 6.    { 7.        return cardId; 8.    } 9. 10.    public void setCardId(String cardId) 11.    { 12.        this.cardId = cardId; 13.    } 14.} Teacher类:1.public class Teacher extends People 2.{ 3.    /*Teacher所独有的属性*/ 4.    private int salary;//工资 5

5、. 6.    public int getSalary() 7.    { 8.        return salary; 9.    } 10. 11.    public void setSalary(int salary) 12.    { 13.        this.salary = salary; 14.    } 15.} 第一种方案:一个子类对应一张表 该方案是使继承体系中每一个子类都对应数据库中的一张表。示意图如下:每一个子类对应的数据库表都包含了父类的信息,并且包含了自己独有的属性。每个子类对应一张表,而且这个表的信

6、息是完备的,即包含了所有从父类继承下来的属性映射的字段。这种策略是使用标签来定义子类的。配置People.hbm.xml文件:1. 2. 3. 4.

7、rnate-mapping> 5.     6.         7.             8.             9.         10. 11.        

8、column="name" type="string"> 12.        

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。