在传统的JDBC操作里,通常通过sql语句查询加载所需要的数据,当sql提交之后,这些数据也就被读取待用了,而在hibernate里,我们拥有了更多的数据加载的方式。以实现不同种的需求。
hibernate支持以下四种数据加载方式:
1、及时加载(Immediate Loading)--实体加载后,立即加载其关联数据。
2、延迟加载(Lazy Loading)--实体加载后,关联数据第一次被需要时,即访问然后加载。
3、预先加载(Eager Loading)--预先加载时,实体及其关联同时读取,于及时加载类似,但是通过一条sql(基于外连接查询)
4、批量加载(Batch Loading)--相对于及时和延迟加载,采用批量方式,可以进行性能上的优化。
一、及时加载
还是引入上篇中的User表和Address表,即一个用户可有多个住址。其配置中部分关联关系如下:
- <set
- name="address"
- table="Address"
- inverse="true"
- cascade="none"
- sort="unsorted"
- lazy="false"