Hibernate 延迟加载,lazy属性配置。以及org.hibernate.LazyInitializationException
<hibernate-mapping> <class name="modle.Orders" table="orders" catalog="h_01"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="identity" /> </id> <many-to-one name="customers" class="modle.Customers" fetch="select" lazy="false"> <column name="customer_id" /> </many-to-one> <property name="orderName" type="java.lang.String"> <column name="orderName" not-null="true" /> </property> </class></hibernate-mapping>
重要配置解释:
1、inverse 就是反向,是说这种关联关系是对对方控制的,就是many的一方。
inverse="true"2、lazy 就是是否延迟加载。就是我在需要的时候才去加载,不需要不去加载。
在session关掉后,我们就不能再加载了。
就是常见的: org.hibernate.LazyInitializationException
这时,我们把lazy设为false。
lazy有两种配置方法:
1) 在many-to-one 或 set 中配置: