hibernate检索策略

 检索策略  lasyfetch

检索:就是把数据库的数据加载到内存的过程。

检索策略的方式:

1.立即检索(立即加载)

2.延迟检索(延迟加载)

检索策略的应用:

1.类级别上的应用 (get方法和load方法)

Get方法  vs   load方法区别:

1.get方法在检索数据的时候,不管class元素是否lasy设置为true还是fale,都是立即检索

2.Laod方法在检索数据的时候,class元素lasy设置成true,延迟检索,并且产生的对象类型是一个代理类型,如果class元素lasy设置成false,立即检索,产生对象类型是一个普通po类型对象

3.get方法和load都是类级别上的检索的应用方式

4.对应类级别上的检索,一般就定为立即加载方式

2.集合级别上的应用

在检查某个对象的时候,如果该对象有关联的数据,可以决定是否延迟或者立即加载关联的数据

 

Lasy(是否懒加载)

Fetch(生成sql语句样子)

结果

false

Select(默认就是select

同时查询主表和关联表数据

true

select

先查询主表信息,都是在使用集合的时候,才发出去sql查询关联表信息

true

join

在查询主表的时候,发出连接sql语句,lasy无效

false

join

true

subselect

先查主表,在使用集合的时候才发出sql语句去查询相关数据

false

subselect

先查主表,然后把主表的id作为子查询条件去查询关联表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值