批量插入(Batch inserts)
如果要将很多对象持久化,你必须通过经常的调用 flush()以及稍后调用 clear()来控制第一级缓存的大小。

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {Customer customer = new Customer(.....);session.save(customer);if ( i % 20 == 0 ) { //20, same as the JDBC batch size//flush a batch of inserts and release memory:session.flush();session.clear();}
}
tx.commit();
session.close();

  

INSERT语句的伪码是:INSERT INTO EntityName properties_list select_statement。要注意的是:
•只支持 INSERT INTO ... SELECT ... 形式,不支持 INSERT INTO ... VALUES ... 形式。

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer
c where ...";
int createdEntities = s.createQuery( hqlInsert )
.executeUpdate();
tx.commit();
session.close();

转载于:https://www.cnblogs.com/siyu/p/3533936.html

hibernate 批量插入 Batch相关推荐

  1. Hibernate 批量插入、更新与删除

    http://blog.sina.com.cn/s/blog_54829a240100glku.html 批量插入 在项目的开发过程之中,由于项目需求,我们常常需要把大批量的数据插入到数据库.数量级有 ...

  2. Neo4j批量插入(Batch Insertion)

    新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方式: 上网站官网下载jar包,根据自己的系统下载不同的压缩包,详细过程不描述,请自行搜索其他博客 ...

  3. NHibernate官方文档中文版——批量插入(Batch inserts)

    A naive approach t7o inserting 100 000 rows in the database using NHibernate might look like this: 一 ...

  4. python加数据库_用python批量插入数据到数据库中

    既然使用python操作数据库必不可少的得使用pymysql模块 可使用两种方式进行下载安装: 1.使用pip方式下载安装 pip install pymysql 2.IDE方式 安装完成后就可以正常 ...

  5. JDBC:软件架构、概述、数据库连接:普通项目添加jar包,URL、sql注入,类型转换,查询流程表、操作BLOB类型字段、批量插入,替换jar包、事务/数据库连接池

    0 常识说明 0.1 软件架构方式介绍 B/S架构:浏览器 与 服务器之间的交互. C/S架构:安装的本地软件(如:今日头条等) 与 服务器进行交互. 0.2 JavaWeb技术概览 JDBC核心技术 ...

  6. JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD

    JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...

  7. Java豆瓣电影爬虫——减少与数据库交互实现批量插入

    节前一个误操作把mysql中record表和movie表都清空了,显然我是没有做什么mysql备份的.所以,索性我把所有的表数据都清空的,一夜回到解放前-- 项目地址:https://github.c ...

  8. mysql基础----mybatis的批量插入(一)

    这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...

  9. MyBastis 三种批量插入方式的性能比较

    数据库使用的是MySQL,JDK版本1.8,运行在SpringBoot环境下 本文章源代码:https://github.com/runbeyondmove/mybatis-batch-demo 对比 ...

最新文章

  1. Mysql 字符串分隔
  2. win10 看不到其它计算机,w10网上邻居搜索不到其它电脑怎么办
  3. 短网址有啥好处,用长网址不香吗?
  4. 【转】java编程思想第20章的注解例子用到的com.sun.mirror的jar包
  5. ubuntu python3.7修改默认pip版本_Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
  6. wordmaker html转为word,PHP HTML生成word
  7. 将连接数据库的地址写在web.config里面,后台直接调用
  8. JQuery Highcharts 图表控件
  9. 安卓zip解压软件_安卓zip文件压缩RAR解压app下载-安卓zip文件压缩RAR解压安卓版 v3.0.4...
  10. Qt 点击任意子控件,背景选中 选中背景
  11. SSM实现毕业设计管理系统
  12. abaqus2021详细安装教程
  13. 通达oa服务器文件夹管理,通达OA办公系统软件功能介绍.doc
  14. F 小名的回答 (奇偶) 湖南师范大学2018年大学生程序设计竞赛新生赛
  15. @Value 读取 map
  16. 【亲测有效!!!】解决git did not exit cleanly (exit code 1) 错误
  17. HBase-拆分合并
  18. 如何快速提升网站排名?
  19. 大数据对电子商务行业的影响,主要体现在哪几方面?
  20. 传统数据库走向消亡?

热门文章

  1. python可以处理哪些文件_Python(文件处理)
  2. mysql 索引建立标准_mysql索引规范
  3. 全局唯一递增的id_分布式系统全局唯一ID简介、特点、生成
  4. js对本地文件进行加密_怎么对电脑文件进行加密
  5. 结构体构造函数_Go 语言的数据结构 :栈与队列
  6. Leetcode-401-二进制手表
  7. 系统学习NLP(十七)--文本相似度
  8. “21天好习惯“第一期-1
  9. kafka 主从同步入门
  10. http协议报文格式原理图