首页 > 代码库 > hibernate集合的加载策略

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集合的加载策略