hibernate _类级别加载策略
一:数据表||实体类
1、数据库表数据
1、Orders表
2、Customer表
2、实体类
1、Orders实体类
2、Customer实例类
二:load(延迟加载) || get(普通加载)
1、使用get方法进行查询
1、openSession.get()加载时立即查询则会打印SQL语句
2、使用load方法加载
1、(默认)是执行时,不发生SQL语句,返回一个对象,使用该对象时才执行SQL查询
2、延迟加载:只是获得对象没有使用不会查询,在使用的时候进行查询
2-1、延迟加载策略
1、可以通过配置文件中class元素上的lazy进行配置控制
|-lazy:true加载时,不查询使用时候查询(默认)
|-lazy:false 加载时立即查询
2、注意:get方法没有 延迟加载的策略
3、懒加载流程
3-1、lazy="true"(默认)
1、查询时,会返回一个代理对象,会在使用属性时,根据关联session查询数据库,加载数据
3-1、lazy="false"(和get没区别,调用立即加载数据)
1、直接返回一个对象,而不是代理对象
3-3、注意
1、使用懒加载时,调用属性加载数据必须确保Seeson是开启
2、Session关闭使用懒加载获取对象会报异常