`
baobeituping
  • 浏览: 1068601 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Hibernate 清除缓存对象

阅读更多

Session 的clear方法;该方法是用来清除缓存对象的。

 

当HIBERNATE插入10000条数据

 

for(int i=0;i<10000;i++)

{

   Student stu = new Student();

   session.save(stu);

}

当插入到5000行数据的时候可能抛出例外了,内存溢出。实际上JDBC具有批处理功能,能将多余的SQL语句累积起来一起提交到数据库中进行处理。在HIBERNATE中的配置在hibernate.cfg.xml

<property name="hibernate.jdbc.batch_size">20</property>

 

然后在程序中:

for(int i=0;i<10000;i++)

{

   Student stu = new Student();

   session.save(stu);

   if(i%20==0){

   session.flush();

   session.clear();

}

}

分享到:
评论

相关推荐

    深入理解Hibernate缓存

    当一个实体对象被加载到`Session`中时,该对象会被存储在一级缓存中,这样在同一个`Session`生命周期内再次请求同一对象时,Hibernate将直接从缓存中获取,而不是查询数据库。这大大减少了数据库操作的次数,从而...

    Hibernate 使用缓存时,数据同步问题

    4. **清除缓存**:在必要的时候,可以显式地调用`Session.clear()`方法清除一级缓存,或者使用`SessionFactory.evict()`方法清除二级缓存中的特定实体,以确保下一次操作时能获取到最新的数据。 5. **配置缓存模式*...

    Hibernate的缓存策略

    ### Hibernate的缓存策略 #### 一、缓存的基本概念 缓存技术是现代软件架构设计中的重要组成部分,尤其在数据库交互频繁的应用场景下尤为重要。简单来说,缓存是一种存储技术,位于应用程序与物理数据之间,目的是...

    Hibernate缓存技术研究

    然而,由于对象模型和关系型数据库模型之间的映射会产生一定的性能开销,Hibernate引入了一套缓存机制来提高数据访问的效率。 #### 二、Hibernate的缓存结构 Hibernate的缓存机制分为两层:第一级缓存(Session...

    Hibernate缓存,性能优化

    在IT领域,尤其是在Java开发中,Hibernate作为一款流行的开源对象关系映射(ORM)框架,其缓存机制是实现高性能数据库交互的关键技术之一。本文将深入探讨Hibernate缓存的原理、类型及其对性能优化的影响。 ### ...

    hibernate缓存机制

    每当操作实体对象时,Hibernate会自动将这些对象放入第一级缓存。这层缓存是线程安全的,因为它与Session绑定,每个Session有自己独立的缓存空间。当Session关闭时,缓存中的数据也会随之清除。由于第一级缓存存在于...

    Hibernate的缓存机制

    它的生命周期与Session相绑定,当Session关闭时,缓存也随之清除。 - 缓存中的数据以相互关联的持久化对象形式存储,这意味着对象及其引用的对象都会被存储在缓存中。 - 由于每个事务都有自己的独立缓存,因此一级...

    Hibernate的缓存使用

    1. **读取操作**:当我们从数据库中查询对象时,Hibernate首先会检查一级缓存,如果对象已经在缓存中,那么就直接从缓存返回,避免了对数据库的重复查询。 2. **写入操作**:当我们修改或保存一个对象,Hibernate会...

    hibernate的缓存机制

    当我们在Session中对对象进行操作时,如保存、更新或删除,Hibernate首先会检查这个对象是否已经在一级缓存中。如果在,那么直接在内存中处理,而不会立即触达数据库。一级缓存默认开启,且生命周期与Session相同,...

    hibernate一级缓存

    当Session关闭时,一级缓存也随之销毁,其中的所有对象都会被清除。因此,合理地管理Session可以有效地控制一级缓存的大小和使用。 ### 缓存策略 1. **缓存的替换策略**:当一级缓存空间满时,Hibernate会根据LRU...

    Hibernate的缓存机制.docx

    flush()用于使缓存与数据库同步,evict()用于清除指定对象,而clear()则清空所有对象。 二级缓存是基于应用程序级别的,作用在SessionFactory范围内,允许跨多个Session共享。它可以配置在hibernate.cfg.xml中,...

    hibernate缓存

    5. **手动清除缓存**:必要时可通过`evict`方法清除特定实体的缓存,或者使用`clear`方法清除整个一级缓存。 #### 七、总结 通过对Hibernate缓存机制的理解和合理配置,可以显著提升应用程序的性能表现,降低...

    hibernate一级缓存、二级缓存和查询缓存

    - **生命周期与Session一致**:一级缓存的生命周期跟随Session,当Session关闭时,一级缓存中的所有对象将会被清除。 - **自动管理**:Hibernate会自动管理一级缓存,无需开发者额外配置。 - **线程安全**:由于每个...

    hibernate二级缓存示例源码

    Hibernate的一级缓存是Session级别的,它自动管理对象的状态,提供瞬时、持久化和脱管状态之间的转换。然而,一级缓存的范围有限,当Session关闭时,其中的数据会被清除。为了解决这个问题,Hibernate引入了二级缓存...

    Hibernate二级缓存+分页功能

    Hibernate一级缓存是指Session级别的缓存,它是默认开启的,每个Session都会维护一个对象缓存,用来存放该Session加载的实体对象。一级缓存的生命周期与Session相同,当Session关闭时,一级缓存中的数据也会被清除。...

    hibernate二级缓存包

    1. **二级缓存的作用**:一级缓存是每个Session内部的缓存,用于存储Session内的对象,而二级缓存则是一个全局范围的缓存,它可以在多个Session之间共享,减少了对数据库的频繁访问,尤其是在读多写少的场景下,性能...

    Hibernate查询缓存及实现.PPT

    例如,如果在没有启用查询缓存时,使用`load()`方法获取的单个持久化对象会被缓存,但若想缓存`findAll()`, `list()`, `Iterator()`, `createQuery()`, `createCriteria()`等方法获取的结果集,必须设置`hibernate....

    day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件

    值得注意的是,对于删除操作,Hibernate不仅会移除相应对象,还会清除可能存在的关联对象,以保持数据一致性。 配置二级缓存需要在Hibernate的配置文件中指定缓存提供者,并为需要缓存的实体类设置缓存策略。以下是...

Global site tag (gtag.js) - Google Analytics