------------------siwuxie095

Hibernate 批量抓取

以客户和联系人为例(一对多)

1、批量抓取

同时查询多个对象的关联对象,是 Hibernate 抓取策略的一种

2、一般情况下,会发送多条 sql 语句,效率低下

如:查询所有客户,返回 List 集合,遍历该 List 集合,得到每

个客户的所有联系人

// 查询所有客户

Criteria criteria=session.createCriteria(Customer.class);

List<Customer> list=criteria.list();

// 得到每个客户的所有联系人

for (Customer customer : list) {

System.out.println(customer.getCid()+"::"+customer.getCustName());

Set<LinkMan> linkMans=customer.getLinkManSet();

for (LinkMan linkMan : linkMans) {

System.out.println("---"+linkMan.getLid()+"::"+linkMan.getLkmName());

}

}

3、采用批量抓取进行优化,减少 sql 语句的发送条数

(1)在客户的映射配置文件中的 set 标签上添加 batch-size 属性

(2)batch-size 的值越大,发送的 sql 语句条数越少

「显然,数据量越大,效果越明显」

【made by siwuxie095】

最新文章

  1. *****linux下redis安装
  2. 求解最大正方形面积 — leetcode 221. Maximal Square
  3. 1025基础REDIS
  4. 第三十五章 metrics(3)- codahale-metrics基本使用
  5. scala的传名参数
  6. lintcode:合并排序数组 II
  7. HDU 1058 Humble Number
  8. org.springframework.orm.jpa.JpaTransactionManager
  9. Java Web整合开发(78) -- Struts 1
  10. 利用Matlab生成一个网格化的三维三轴椭球面(生成直角坐标)
  11. SpringMvc文件资源防止被外链链接
  12. Hibernate中cascade作用
  13. tomcat Server启动带profile文件
  14. hdfs 操作 入门api
  15. linux内核中的vgaarb是什么?
  16. Jmeter学习—004—使用代理录制脚本—HTTP代理服务器(APP、web皆可)
  17. 非常有助于理解二极管PN结原理的资料
  18. AWS 推出长期支持的 OpenJDK 免费分发版本 —— Amazon Corretto
  19. 25、springboot与缓存整合Redis
  20. losetup命令

热门文章

  1. 关于浏览器和IIS基础的简单理解
  2. Java API 操作 Mongodb
  3. PAT1034. Head of a Gang ——离散化+并查集
  4. Java格式化时间为String类型
  5. Unit06: 状态管理-cookie
  6. Maven和Gradle的比较
  7. [Web]网址净化方法
  8. PyQt5+python+pycharm开发环境配置
  9. 你知道的,javascript语言的执行环境是&quot;单线程模式&quot;,这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
  10. REST理解