欢迎来到天天文库
浏览记录
ID:50050649
大小:401.50 KB
页数:42页
时间:2020-03-08
《Java Web程序设计教程 教学课件 作者 范立锋 林果园 第9章 Hibernate查询.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章Hibernate查询9.1关联关系9.2检索策略9.3数据查询方式9.4结果集过滤9.1关联关系关联关系是一种结构化关系,指两个对象之间存在的某种联系。在Hibernate框架中,关系体现在持久化类对象之间的关联。常用的关联关系包括如下3种:一对一一对多,多对一多对多返回9.1.1关联关系—一对一(1)一对一关联关系有两种实现方式:主键关联和外键关联。1.主键关联。通过两个表的主键进行关联。比如下图(1)在汽车类(Car)的映射文件中配置如下代码:2、">9.1.1关联关系—一对一(2)(2)在车牌号类(CarNumber)的映射文件中配置如下的代码:3、oreign">customer9.1.1关联关系—一对一(3)2.外键关联。实际上是一对多关联的特例,即多的一方只有一个对象。外键关联配置时需要在其中一个数据表中建立一个外键,用来关联另一个数据表。汽车类映射文件中的配置代码和主键关联的配置代码一样,车牌号类的映射文件中的代码如下:4、ssname="com.ve.CarNumber"table="carNumbers">返回9.1.2关联关系—一对多,多对一(1)一对多和多对一关系其实指的是同一种关联关系。例如,数据库中存在两张5、数据表,客户表(customers)和订单表(orders),它们之间是一对多的关系,如下图所示。1.单向关联单向关联指的是仅在一个实体类中定义另一个实体类属性,例如类Customer和Order的单向关联关系如下图所示:9.1.2关联关系—一对多,多对一(2)之后在类Order的映射文件中使用元素配置多对一的关联关系,配置代码如下:6、olumnname="id"/>9.1.2关联关系—一对多,多对一(3)对于双向关联,除了在类Order的映7、射文件中使用元素配置多对一的关联关系外,还需要在类Customer的映射文件中使用元素及其子元素配置一对多的关联关系,配置代码如下:2.双向关联双向关联指的是在关联关系中“多”的一方定义“一”的一方的属性,在“一”的一方定义一个集合类型(Set类型)的属性,例如类Customer和Order的双向关联关系如下图所示:9.1.2关联关系—一对多,多对一(4)<8、idname="id"type="java.lang.Long">
2、">9.1.1关联关系—一对一(2)(2)在车牌号类(CarNumber)的映射文件中配置如下的代码:3、oreign">customer9.1.1关联关系—一对一(3)2.外键关联。实际上是一对多关联的特例,即多的一方只有一个对象。外键关联配置时需要在其中一个数据表中建立一个外键,用来关联另一个数据表。汽车类映射文件中的配置代码和主键关联的配置代码一样,车牌号类的映射文件中的代码如下:4、ssname="com.ve.CarNumber"table="carNumbers">返回9.1.2关联关系—一对多,多对一(1)一对多和多对一关系其实指的是同一种关联关系。例如,数据库中存在两张5、数据表,客户表(customers)和订单表(orders),它们之间是一对多的关系,如下图所示。1.单向关联单向关联指的是仅在一个实体类中定义另一个实体类属性,例如类Customer和Order的单向关联关系如下图所示:9.1.2关联关系—一对多,多对一(2)之后在类Order的映射文件中使用元素配置多对一的关联关系,配置代码如下:6、olumnname="id"/>9.1.2关联关系—一对多,多对一(3)对于双向关联,除了在类Order的映7、射文件中使用元素配置多对一的关联关系外,还需要在类Customer的映射文件中使用元素及其子元素配置一对多的关联关系,配置代码如下:2.双向关联双向关联指的是在关联关系中“多”的一方定义“一”的一方的属性,在“一”的一方定义一个集合类型(Set类型)的属性,例如类Customer和Order的双向关联关系如下图所示:9.1.2关联关系—一对多,多对一(4)<8、idname="id"type="java.lang.Long">
3、oreign">customer9.1.1关联关系—一对一(3)2.外键关联。实际上是一对多关联的特例,即多的一方只有一个对象。外键关联配置时需要在其中一个数据表中建立一个外键,用来关联另一个数据表。汽车类映射文件中的配置代码和主键关联的配置代码一样,车牌号类的映射文件中的代码如下:4、ssname="com.ve.CarNumber"table="carNumbers">返回9.1.2关联关系—一对多,多对一(1)一对多和多对一关系其实指的是同一种关联关系。例如,数据库中存在两张5、数据表,客户表(customers)和订单表(orders),它们之间是一对多的关系,如下图所示。1.单向关联单向关联指的是仅在一个实体类中定义另一个实体类属性,例如类Customer和Order的单向关联关系如下图所示:9.1.2关联关系—一对多,多对一(2)之后在类Order的映射文件中使用元素配置多对一的关联关系,配置代码如下:6、olumnname="id"/>9.1.2关联关系—一对多,多对一(3)对于双向关联,除了在类Order的映7、射文件中使用元素配置多对一的关联关系外,还需要在类Customer的映射文件中使用元素及其子元素配置一对多的关联关系,配置代码如下:2.双向关联双向关联指的是在关联关系中“多”的一方定义“一”的一方的属性,在“一”的一方定义一个集合类型(Set类型)的属性,例如类Customer和Order的双向关联关系如下图所示:9.1.2关联关系—一对多,多对一(4)<8、idname="id"type="java.lang.Long">
4、ssname="com.ve.CarNumber"table="carNumbers">返回9.1.2关联关系—一对多,多对一(1)一对多和多对一关系其实指的是同一种关联关系。例如,数据库中存在两张
5、数据表,客户表(customers)和订单表(orders),它们之间是一对多的关系,如下图所示。1.单向关联单向关联指的是仅在一个实体类中定义另一个实体类属性,例如类Customer和Order的单向关联关系如下图所示:9.1.2关联关系—一对多,多对一(2)之后在类Order的映射文件中使用元素配置多对一的关联关系,配置代码如下:6、olumnname="id"/>9.1.2关联关系—一对多,多对一(3)对于双向关联,除了在类Order的映7、射文件中使用元素配置多对一的关联关系外,还需要在类Customer的映射文件中使用元素及其子元素配置一对多的关联关系,配置代码如下:2.双向关联双向关联指的是在关联关系中“多”的一方定义“一”的一方的属性,在“一”的一方定义一个集合类型(Set类型)的属性,例如类Customer和Order的双向关联关系如下图所示:9.1.2关联关系—一对多,多对一(4)<8、idname="id"type="java.lang.Long">
6、olumnname="id"/>9.1.2关联关系—一对多,多对一(3)对于双向关联,除了在类Order的映
7、射文件中使用元素配置多对一的关联关系外,还需要在类Customer的映射文件中使用元素及其子元素配置一对多的关联关系,配置代码如下:2.双向关联双向关联指的是在关联关系中“多”的一方定义“一”的一方的属性,在“一”的一方定义一个集合类型(Set类型)的属性,例如类Customer和Order的双向关联关系如下图所示:9.1.2关联关系—一对多,多对一(4)<
8、idname="id"type="java.lang.Long">
此文档下载收益归作者所有