hibernate集合的加载策略

Posted 关键步就几步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate集合的加载策略相关的知识,希望对你有一定的参考价值。

在集合方配置lazy和fetch的方式,默认的是lazy为true,fetch为select,lazy有true和false,为true时注意session不要关闭,不然后续的集合属性获取就没法获取了,会报no session的错误,而fetch有select,join,subselect3种,其实也就是去数据库中获取数据时发送sql的形式不同,select为分开单独用查询对象和集合,而join为以对象为主的left join一起关联查询出来,此时lazy为true已经失效,适用于对象导航查询,如果是HQL语句查询,这些配置没啥卵用

		<set name="linkmans" inverse="true" lazy="true"  fetch="select">
			<key column="lkm_cust_id"/>
			<one-to-many class="com.cb.pojo.Linkman"/>
		</set>

  

以上是关于hibernate集合的加载策略的主要内容,如果未能解决你的问题,请参考以下文章

hibernate lazy属性true false extra

Hibernate延迟加载

Hibernate检索学习

八 Hibernate延迟加载&抓取策略(优化)

Hibernate Lazy属性

Hibernate的抓取策略(优化)