hibernate数据加载方式

本文介绍了Hibernate中的四种数据加载方式:及时加载、延迟加载、预先加载和批量加载。及时加载在加载主体对象时同时加载关联数据;延迟加载仅在需要关联数据时执行SQL查询;预先加载通过外连接一次性获取实体及其关联数据;批量加载则是通过合并多个单一查询来优化性能,提高数据读取效率。
摘要由CSDN通过智能技术生成

在传统的JDBC操作里,通常通过sql语句查询加载所需要的数据,当sql提交之后,这些数据也就被读取待用了,而在hibernate里,我们拥有了更多的数据加载的方式。以实现不同种的需求。

 

hibernate支持以下四种数据加载方式:

1、及时加载(Immediate Loading)--实体加载后,立即加载其关联数据。

2、延迟加载(Lazy Loading)--实体加载后,关联数据第一次被需要时,即访问然后加载。

3、预先加载(Eager Loading)--预先加载时,实体及其关联同时读取,于及时加载类似,但是通过一条sql(基于外连接查询)

4、批量加载(Batch Loading)--相对于及时和延迟加载,采用批量方式,可以进行性能上的优化。

 

一、及时加载

还是引入上篇中的User表和Address表,即一个用户可有多个住址。其配置中部分关联关系如下:

 

Xml代码 
  1. <set  
  2.      name="address"  
  3.      table="Address"  
  4.      inverse="true"  
  5.      cascade="none"  
  6.      sort="unsorted"  
  7.      lazy="false"  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值