零点起飞学Java Web开发之Hibernate的映射技巧.pptx

零点起飞学Java Web开发之Hibernate的映射技巧.pptx

ID:48466609

大小:219.36 KB

页数:17页

时间:2020-01-18

零点起飞学Java Web开发之Hibernate的映射技巧.pptx_第1页
零点起飞学Java Web开发之Hibernate的映射技巧.pptx_第2页
零点起飞学Java Web开发之Hibernate的映射技巧.pptx_第3页
零点起飞学Java Web开发之Hibernate的映射技巧.pptx_第4页
零点起飞学Java Web开发之Hibernate的映射技巧.pptx_第5页
资源描述:

《零点起飞学Java Web开发之Hibernate的映射技巧.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第15章使用Hibernate映射建立JavaBean对象和数据库表之间的对应关系是Hibernate的核心内容,也是其精要之所在。掌握Hibernate的映射技巧对于JavaWeb开发者来说无疑是非常重要的。本章将结合实例对常用的映射逐一进行讲解。通过本章的学习,读者可以全面地掌握Hibernate建立对象到表之间映射的方法和技巧,并且可以为一般的数据库编写映射文件。15.1配置映射文件映射文件用来建立JavaBean对象到数据库表之间的对应关系。Hibernate是如何知道怎样去存储、加载JavaBean对象呢?这是由于映射文件告诉Hibernate

2、应该去访问数据库中的哪一个表,以及表中的那些字段。要想使Hibernate正常工作,首先必须配置好映射文件,下面就对其进行讲解。15.1.1映射文件的格式映射文件是一个XML文件。在该文件中通过一些特定的标签去定义JavaBean到数据表之间的各种关系。:该标签用来指定映射文件的DTD,给出一个该文件的网址。一般来说,Hibernate在使用该网址前会查询CLASSPATH下面是否有DTD文件。如果有,直接使用该文件。:在标签

3、ing>之间定义Hibernate的映射。可以通过标签去建立JavaBean实例和数据库表之间的映射。package属性用来指定映射文件中Java类的包名。这样在该映射文件中出现的所有类都不用单独指定完整路径。:在标签之间定义一个JavaBean类到数据库表的映射。属性name用来指定JavaBean类的名字,table指定对应该JavaBean的数据库表。:该标签用来定义属性id和数据库主键的对应关系。name指定JavaBean的属性名,column属性默认和name属性的值相同

4、。所以如果数据库表的对应字段和JavaBean的属性名相同,则可以将column省略。:该标签用来指定JavaBean属性和数据库表的字段之间的对应关系。如果没有指定column属性,则表示它与name属性的值相同。:该标签通过使用JavaBean的集合属性建立数据库表之间的对应关系。name代表JavaBean集合属性的名字,本章会详细讲述该标签。:该标签通过使用JavaBean的属性来建立多对一的关系。该属性为其他类的实例。:该标签用来建立一对一的关系,后面会有详述。15

5、.1.2装载映射文件映射文件必须被Configuration加载才能正确使用。一般来说,有以下几种方法可以使Configuration加载映射文件。1.在hibernate.cfg.xml中声明在该文件中通过声明。然后在程序中调用Configuration().configure()方法,Hibernate会去自动加载该映射文件。2.Configuration的addResource()方法如果不在hibernate.cfg.xml中声明映射文件,也可以在程序中调用Configuration()的add

6、Resource()方法加载它。3.Configuration的addClass()方法如果不采用以上两种方式,则可以调用Configuration的addClass()方法加载要建立映射的JavaBean类。15.2映射一对多关联关系一对多的关联关系是指一个实体对应多个其他的实体。例如,一个用户可以用多个订单,这种关系在JavaBean方面就体现为User类拥有一个属性orders,它是Order对象的集合;在数据库方面体现为user表的一条记录可以对应多条orders表的记录。如何让这两方面的关系联系起来呢?这就是Hibernate要做的事情,可以通

7、过User的orders属性获得数据库表中所有对应该用户的订单。说明:一对多的实体关联关系在JavaBean方法中体现为单向关联和双向关联。例如,User类的orders属性指向多个Order类的实例,这叫做一对多单向关联。现在给Order类也创建一个属性Useruser=newUser(),它指向User类,叫做多对一单向关联。这两个单向关联同时存在,就变成了双向关联。下面先讲解多对一的单向关联。15.2.1多对一单向关联一个User实例对应多个Order实例,如果给Order类创建一个属性user,这样多个user属性对应一个User实例。在数据库

8、方面order表有一个外键user_id,多个值相同的外键对应user表的一个主

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

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

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