`

Hibernate批量提交

阅读更多
批量插入(Batch inserts)
在hibernate的配置文件中添加
   hibernate.jdbc.batch_size=20

如果要将很多对象持久化,你必须通过经常的调用 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 //20,与JDBC批量设置相同
        //flush a batch of inserts and release memory:
        //将本批插入的对象立即写入数据库并释放内存
        session.flush();
        session.clear();
    }
}
  
tx.commit();
session.close();

http://taotao5212008.iteye.com/blog/579403
分享到:
评论
1 楼 mqlfly2008 2010-09-10  
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    hibernate批量删除

    ### Hibernate批量删除详解 #### 背景与概念 在Java开发中,处理大量数据时,经常需要执行批量操作,如批量更新或批量删除。这些操作对于提高应用程序性能至关重要,尤其是在涉及成千上万条记录的情况下。...

    在Hibernate中处理批量更新和批量删除

    在Hibernate中,最直观的批量更新方式是通过循环遍历查询结果集,并对每个实体进行更新,然后提交事务。例如: ```java Transaction tx = session.beginTransaction(); Iterator&lt;Customer&gt; customers = session....

    struts2 hibernate spring 整合批量删除源码

    开发者通常会定义一个DAO(Data Access Object)接口,该接口包含批量删除的方法,然后由Hibernate的Session实现这个接口,执行SQL删除语句。Session的批处理功能可以优化数据库操作,提高性能。 Spring框架则作为...

    JSF+hibernate实现批量删除

    本篇文章将详细探讨如何利用JSF与Hibernate相结合来实现批量删除功能,以及在CRUD(创建、读取、更新和删除)操作中的应用。 首先,我们需要理解JSF的工作原理。JSF是一个基于组件的MVC(Model-View-Controller)...

    Hibernate批量处理

    ### Hibernate批量处理详解 #### 一、批量处理概述 Hibernate作为一种强大的对象关系映射(ORM)框架,提供了多种批量处理的方式以提高数据处理效率。批量处理对于需要在短时间内处理大量数据的应用尤其重要,如...

    jsp Hibernate批量更新和批量删除处理代码

    ### Hibernate批量更新 Hibernate在执行批量更新操作时,通常会先加载所有符合条件的实体到内存中,然后逐个更新每个实体对象的状态,之后再将这些状态变化同步到数据库中。这会导致大量的内存占用和数据库访问,...

    hibernate批量删除.txt

    ### Hibernate 批量删除知识点详解 #### 一、概述 在进行数据库操作时,经常会遇到需要批量处理数据的情况,例如批量更新或批量删除等。利用Hibernate框架可以方便地实现这些功能,提高开发效率并减少资源消耗。...

    Hibernate批量处理海量数据的方法

    以下是针对Hibernate批量处理海量数据的一些关键知识点和优化策略: 1. **理解Hibernate的工作原理**:Hibernate通过查询数据库获取数据,并将其转化为Java对象存储在内存中,这种做法在处理小量数据时非常便捷,但...

    jsp Hibernate批量更新和批量删除处理代码.docx

    本文件主要探讨了如何使用Hibernate进行批量更新和批量删除处理,这些操作在处理大量数据时尤其重要,因为它们可以显著提高应用的性能。下面我们将深入解析这两个主题。 批量更新在Hibernate中通常涉及在一个事务中...

    hibernate批量操作实例详解

    【hibernate批量操作实例详解】 批量操作是提高数据库处理效率的重要手段,特别是在处理大量数据时,能够显著提升性能并减少资源消耗。在Hibernate中,批量操作主要包括批量插入、批量更新和批量删除。以下是对这些...

    C#Hibernate数据库海量读写快速存储

    1. 批量操作:在处理大量数据时,避免单条插入或更新,应采用批量处理,将多条数据一次性提交,以减少网络通信和数据库事务开销。 2. 数据分片:将大数据分散到多个数据库或表中,通过分布式处理提高读写速度。 3. ...

    Struts2关于批量提交数据-解决方案

    ### Struts2批量提交数据解决方案 在Web应用开发过程中,特别是在使用Struts2框架时,经常需要处理大量的数据提交操作。这些数据可能来自于用户输入或者是系统内部的数据迁移等场景。对于这种需求,本文档将详细...

    Hibernate批量更新与删除实例浅析

    本文将深入探讨如何在Hibernate中进行批量更新和删除,并分析其优缺点以及可能的优化策略。 批量更新是数据库操作中常见的一种场景,特别是在需要对大量数据进行统一修改时。在Hibernate中,批量更新通常涉及以下...

    浅析Hibernate下数据批量处理方法.doc

    标题"浅析Hibernate下数据批量处理方法"和描述中提到,早期的Hibernate在批量插入时可能存在效率问题,但最新版本已经进行了优化,例如通过设置`batch_size`参数来提高批量处理的性能。`batch_size`设置的是JDBC...

    Hibernate管理Session和批量操作分析

    在Java的持久化框架Hibernate中,管理Session和执行批量操作是优化数据库交互的关键技术。本文主要探讨了如何高效地管理Hibernate的Session以及如何实施批量处理数据,这些技巧对于提升应用程序性能至关重要。 首先...

    struts2+hibernate(文件批量上传至数据库+Ajax分页显示)

    总之,这个项目展示了如何将Struts2和Hibernate结合使用,以实现文件批量上传到数据库以及Ajax分页显示的功能。通过学习这个项目,开发者可以深入理解Java Web开发中的MVC模式、ORM框架以及前端动态加载技术。

    hibernate教程打包下载,史上最全的HIBERNATE

    10. **性能优化**:教程可能涵盖如何优化Hibernate,例如批量操作、延迟加载、缓存策略调整、避免N+1查询问题等。 11. **实例分析**:通过实际项目案例,演示如何在Web应用(如Spring Boot)中整合Hibernate,解决...

    hibernate3.5完整jar

    10. **批处理操作**:通过设置批处理大小,Hibernate可以优化批量插入、更新和删除的性能,减少与数据库的交互次数。 11. **JPA支持**:虽然Hibernate最初是一个独立的ORM框架,但在3.5版本中,它也兼容Java ...

    传智播客_hibernate

    2. **自动提交与手动提交**: 默认情况下,Hibernate在Session关闭时自动提交事务,也可以通过Transaction API手动控制。 **五、缓存机制** 1. **一级缓存**: Session内部的缓存,保存了最近的操作对象,提高性能。...

Global site tag (gtag.js) - Google Analytics