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作为子查询条件去查询关联表


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章