`
ttitfly
  • 浏览: 623874 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hibernate 批量插入

阅读更多

在企业应用开发中,经常用到批量插入的功能。对于Hibernate,如果使用方法不当,性能将大打折扣,令人难以忍受。这里介绍一种批量插入的方法,代码如下:

java 代码
  1. Session session = sessionFactory.openSession();    
  2. Transaction tx = session.beginTransaction();    
  3. for ( int i=0; i<100000; i++ ) {    
  4. Customer customer = new Customer(.....);    
  5. session.save(customer);    
  6. if ( i % 20 == 0 ) {    
  7. //20,与JDBC批量设置相同    
  8. //将本批插入的对象立即写入数据库并释放内存    
  9. session.flush();    
  10. session.clear();    
  11. }    
  12. }    
  13.   
  14. tx.commit();    
  15. session.close();  

对于批量更新,方法大致相同!

分享到:
评论
1 楼 eagledame 2010-05-10  
if ( i % 20 == 0 ) {    
//20,与JDBC批量设置相同    
//将本批插入的对象立即写入数据库并释放内存    
session.flush();    
session.clear();    
}  


这个if里面是不是要加上  tx.commit();tx = session.beginTransaction();啊 ,不是很明白 ,可以解释一下么

相关推荐

    Hibernate+JDBC实现批量插入、更新及删除的方法详解

    Hibernate+JDBC实现批量插入、更新及删除的方法详解 概述:本文主要介绍了Hibernate+JDBC实现批量插入、更新及删除的方法,通过实例形式详细分析了Hibernate与JDBC针对数据库的批量操作相关实现技巧。 知识点一:...

    Hibernate下数据批量处理解决方案

    在Java开发中,尤其是涉及到大数据量的处理时,人们往往会质疑ORM框架,如Hibernate,是否适合进行批量数据操作。然而,实际上,通过适当的技术手段,我们可以有效地解决Hibernate在批量处理时可能出现的性能问题。...

    Java中Hibernate的批量插入

    然而,在处理大量数据的批量操作时,如批量插入、更新或删除,如果不采取适当的策略,可能会导致性能问题甚至出现内存溢出异常。针对这种情况,Hibernate提供了一些批量处理的解决方案。 批量插入是处理大量数据...

    hibernate批量操作实例详解

    Hibernate批量插入的常见问题在于,如果一次性保存大量对象,会占用大量内存,可能导致`OutOfMemoryException`,因为默认情况下,Session一级缓存会存储所有待持久化的对象。为了避免这种情况,我们需要定期将缓存...

    Hibernate中大量数据的更新

    Hibernate 的批量抓取机制允许将多个INSERT 语句合并成一个批量插入语句,从而提高性能。在 Hibernate 配置文件中,可以设置 `hibernate.jdbc.batch_size` 参数来指定批量抓取的大小。 如何实现批量更新 在 ...

    HQL批量插入、更新和删除

    ### HQL批量插入、更新和删除 #### 一、概述 在进行数据库操作时,批量处理数据是一项常见的需求。为了提高效率并减少网络传输开销,HQL(Hibernate Query Language)提供了一种灵活的方式来实现这一目标。HQL是...

    Hibernate批量处理

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

    Hibernate批量处理数据

    ### Hibernate批量处理数据 #### 一、概述 Hibernate作为一款流行的Java持久层框架,它能够以面向对象的方式处理数据库操作,极大地简化了开发过程。然而,在处理大量数据时,如果仍然采用逐条处理的方式,将会...

    struts2+hibernate实现的网站

    这可能涉及使用Apache POI库解析Excel文件,读取数据,并通过Hibernate批量插入到数据库中。开发者需要处理Excel格式的不同版本,以及数据验证和异常处理。 视频播放功能意味着网站包含了多媒体内容的处理。这通常...

    Struts2批量插入

    Struts2批量插入是Web开发中常见的操作,主要用于提高数据处理效率,特别是在处理大量数据时。Struts2作为一款流行的Java MVC框架,提供了强大的功能来支持这种操作。本篇文章将深入探讨Struts2如何实现批量插入,并...

    Hibernate插入数据

    10. **批量插入**:对于大量数据插入,可使用SQL的批处理或Hibernate的批处理功能,如Session的batch_size配置,提高性能。 在实际开发中,我们还需要注意一些优化技巧,比如懒加载(@OneToMany、@ManyToOne等关系...

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

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

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

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

    mysql三种批量增加的性能分析

    2. **Hibernate批量插入**: Hibernate作为ORM框架,允许在事务中批量保存对象。`batchAddUsingHibernate`方法可能利用Session的`saveOrUpdateAll()`或`flush()`方法来实现。尽管Hibernate简化了数据操作,但它的...

    hibernate(一对多,多对一映射)操作

    - 增加:在保存父实体时,可以同时保存其关联的子实体,Hibernate会自动处理子实体的插入操作。对于多对一关系,只需要在父实体中设置子实体的引用即可。 - 查询:可以通过HQL(Hibernate Query Language)或者 ...

    hibernate-extensions-2.1.3.zip ,middlegen for hibernate

    - Batch处理:支持批量插入、更新和删除操作,提高大数据量操作的性能。 - Event监听器:允许在特定的持久化操作前后执行自定义逻辑,如事务处理、日志记录等。 - 邮件服务:集成邮件发送功能,实现业务流程中的...

    Hibernate框架jia包

    - 批量操作:利用批处理更新或删除,减少数据库交互次数。 -延迟加载(Lazy Loading):只在需要时加载关联对象,避免数据冗余。 8. **HQL和Criteria API**: HQL是面向对象的查询语言,类似于SQL但更接近Java。...

    hibernate与mybatis一起使用取长补短

    例如,批量插入、分页查询、联表查询等。 3. **事务管理**: Hibernate的事务管理功能强大,适用于需要分布式事务的场景。而对于局部的、简单事务控制,MyBatis的灵活配置也能满足需求。 4. **灵活性**: 结合两者,...

Global site tag (gtag.js) - Google Analytics