hibernate 缓存引起的问题

问题描述

publicSessiongetSession(){Sessionsession=HibernateSessionFactory.getSession();//session.clear();returnsession;}然后任何操作都是直接使用getsession方式或得并使用session,但是会出现查询出跟更前的数据,不断查询可能出现新旧数据交叉出现。设置了延迟加载,查询后关闭session会出现问题现在想解决这个问题使用什么方式最方便呢?项目比较大

解决方案

解决方案二:
我也遇到过跟你同样的问题,用火狐是正常的,用IE就不行,http://www.unovo.cn/u-development/Javascript/2010/ajax-clear-cache.html有可能是IE本身的问题,你参照这篇文档试试。希望能对你有所帮助,记得给分啊
解决方案三:
hibernate的缓存问题,好似那个链接是ajax的

时间: 2024-09-11 18:43:10

hibernate 缓存引起的问题的相关文章

mybatis缓存和hibernate缓存的理解问题和区别。类缓存和查询缓存的理解和区别

问题描述 mybatis缓存和hibernate缓存的理解问题和区别.类缓存和查询缓存的理解和区别 Hibernate的一级缓存的目的是为了方便管理实体类的状态(临时状态.持久化状态.游离状态.删除状态).Hibernate的目的二级缓存是为了减少sql语句.那么mybatis的一级缓存和二级缓存的目的是为了什么? Hibernate的二级缓存通常使用ehcache,通常配置的是实体类,所以ehcache里面配置实体类是属于类缓存吗? 类缓存到底在什么地方优化?怎样减少sql语句? 查询缓存到底

【转 :Hibernate 缓存机制】

转自:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html Hibernate 缓存机制   一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据.   二.what(Hibernate缓

Hibernate缓存

Hibernate缓存在工作面试的时候很可能会遇到的问题. 缓存其实就是一块内存空间,充当数据库的内存中的一个临时的容器. 一:hibernate缓存是怎样的?    Hibernate缓存提供了两种缓存:一级缓存和二级缓存. 1 一级缓存又称事务级缓存,Session的缓存.     在Hibernate中一级缓存存是基于Session的生命周期实现的,每一个Session会在内部维护一个数据缓存,她随着Session的创建而创建,销毁而销毁.     一级缓存是必须的,在同一个一级缓存中,每

JAVA Hibernate缓存详解

1.缓存介绍 Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存.这 一级别的缓存由hibernate管理的,一般情况下无需进行干预:第二级别的缓存是SessionFactory级别的 缓存,它是属于进程范围或群集范围的缓存.这一级别的缓存可以进行配置和更改,并且可以动态加载和 卸载. Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存. 一. 一级缓存和二级缓存的比较: 第一级缓存和第二级缓是存放数据的形式是以相互关联的

语言教程学堂:hibernate缓存机制详细分析

在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题. 随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解. 一.N+1问题 首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题: list()获得对象: /** * 此时会发出一条sql,将30个学生全部查询出来 */ List<Student> ls =

第十二章 hibernate缓存

1.一级缓存(Session级缓存) 一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 那些方法支持一级缓存: *get() *load() *iterate(查询实体对象) 如何管理一级缓存: *session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出 方法1:先flush,再clear for(int i = 0; i <1000000; i++){ session.save(user); if(i %

Hibernate缓存和ehcache

缓存的概念          计算机领域非常通用的概念.它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能.缓存中的数据是存储源总的数据的拷贝.缓存的物理介质通常是内存.   Hibernate中提供了两个级别的缓存          Session级别的缓存          它是属于事务范围的缓存.这一级别的缓存有Hibernate管理的,一般情况下午需进行干预.          SessionFac

hibernate缓存不解

问题描述 大家看一下这段代码SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();Session s = sessionFactory.openSession();s.beginTransaction();for(int i=0;i<10;i++){ Cat cat = new Cat(); cat.setWeight(20.1f); cat.setName("cat_&q

hibernate 缓存-hibernate查询数据库与缓存开启时机

问题描述 hibernate查询数据库与缓存开启时机 关于hibernate在第一次查询数据库的时候,是否开启缓存,及开启缓存的时机,使用的缓存是以及还是二级,请详情说明下,万分感谢!!!

Hibernate缓存同步问题

问题描述 环境: OS : Win XP SP2 Hibernate: 3.5.1伪代码: System.out.println(StringUtils.center("query 查询: " )); Session session = HibernateSessionFactory.getSession(); String hql = "FROM Room T WHERE T.address = ?"; Query query = session.createQu