Hibernate学习三(多对多表的映射、HQL、QBC)

目录

一、多对多表的映射文件配置详解

1、Hibernate的多表关联关系映射

2、多对多表保存数据注意事项讲解

3、加载策略

1)类级别的加载策略

2)关联级别的加载策略

3)fetch

4)多对一的加载策略

5)批量加载(了解)

二、HQL

1、HQL简介

2、选择查询

1)查询一个结果:

2)投影查询:

3)排序、聚合函数、分组查询

4)连接查询

5)命名查询

三、QBC查询

1、简介

2、排序查询

3、条件查询

4、离线查询

5、DetachedCriteria离线查询


一、多对多表的映射文件配置详解

1、Hibernate的多表关联关系映射

学生与课程多对多的关系:

     创建对应的映射文件

配置set:

在配置文件中引用映射文件

直接使用session来测试文件配置及映射是否正确,主要看能否生成对应的表格

2、多对多表保存数据注意事项讲解

提供有参数的构造方法之后,默认的就没有无参数的构造方法,而在获取参数的时候

需要创建无参数的对象,所以需要自己提供一个无参数的构造函数

保存数据的注意事项:

           开启事务,

           以及级联关系 cascade = “save-update”

inverse可以减少sql语句,但是级联的表格中没有插入对应的数据?

 

课程也要级联 cascade = “update-save”

inverse不能两边都为true,否则中间表没有作用

3、加载策略

1)类级别的加载策略

load只有用到里面的数据时,才会执行sql语句

2)关联级别的加载策略

3)fetch

关联查询:

4)多对一的加载策略

客户和订单表

many-to-one:多对一中不使用子查询

5)批量加载(了解)

以客户为例:

在set中添加batch-size=2

二、HQL

1、HQL简介

2、选择查询

1)查询一个结果:

方式一

方式二:

2)投影查询:

3)排序、聚合函数、分组查询

排序,查询语句不需要事务

分页:

聚合函数:

分组查询:根据客户分组,查看有多少订单(面向对象的写法)

4)连接查询

交叉连接:

隐式内连接【join】:

内连接:等效sql连接,返回的数据时封装到一个数组里面

迫切内连接,hibernate底层使用 内连接。

左外连接【left outer join】

5)命名查询

三、QBC查询

1、简介

Query By Criteria:完全不用写HQL语句

2、排序查询

3、条件查询

4、离线查询

5、DetachedCriteria离线查询

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值