Hibernate---检索策略

1.立即检索
立即加载检索方法指定的对象。
加载多于需要的对象白白浪费内存空间;
select 语句数量多,频繁访问数据库,影响系统性能。
2.延迟检索:
延迟加载检索方法指定的对象。
避免多加载应用程序不需要访问的数据对象。
3.迫切左外连接检索:
利用SQL外连接查询功能加载检索方法指定对象。
减少执行select语句的数量,减少数据库访问,提高系统性能
Hibernate---检索策略

Hibernate类级别可选的检索策略:

1.立即检索(加载):映射配置文件中class元素的 lazy 属性设置为 false。
Hibernate---检索策略
2.延迟检索(加载):映射配置文件中class元素的 lazy 属性设置为 true。(默认)

类级别的检索策略只会影响到 Session 的 load() 方法,对 get() 和其它查询不起作用。
延迟加载对 load() 方法的影响:

1)如果数据库中不存在对应的对象不会抛出异常,只有在调用 user.getXX() 时才会抛异常;
2)代理类实例只能在当前 Session 范围内初始化;
3)Hibernate.initialize() 方法可以显示初始化代理类实例。

Hibernate---检索策略Hibernate---检索策略Hibernate---检索策略Hibernate---检索策略

抓取策略三个值:

Hibernate---检索策略Hibernate---检索策略