抓取策略
单端代理
a) 保持默认,同fetch="select",如:
b) 设置fetch="join",如:
集合代理
a) 保持默认,同fetch="select",如:
b) 设置fetch="join",如:
c) 设置fetch="subselect",如:
批量抓取
Lazy加载机制
Lazy是延迟加载,只有真正使用该对象时,才会创建,对于Hibernate来说,只有真正使用时才会发出sql,这样可以提高一些性能。Hibernate的lazyloading采用了一个HibernateSession来管理session,他的逻辑是每进行一次 数据库操作,就开新的session,操作完成后立即关闭该session,这样做的好处是可以严格关闭session,但不适合跨方法的事务。
Class标签上的Lazy
集合标签上的Lazy
- 标签上,可以取值:true/false/extra。
get集合时不会发sql,迭代会发sql,查个数的时候会把整个集合查出来,这样对效率有影响,lazy在集合上用extra获取size的时候会发出count语句,对效率有所提升。
单端关联上的Lazy
作者:StubbornPotatoes