关于Hibernate缓存问题,参加过讨论者皆有分. 我的意思就是说 hibernate缓存 怎么让他查询的时候 不一会查这一会查那 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一级缓存是session级的缓存 没有关的话 那么缓存一直存在下次再查询就不会去数据库查了 会先查询缓存 1.首先我要请问楼主 "我每次操作完以后,比如删除或者修改或者增加以后,然后重复刷新,会出现不同的数据,即使我把这个数据删了也会出现不同的数据" 是什么意思,不是很明白2.楼主如果是使用struts框架并且使用forward的话,刷新代表重复提交即重复删除,既然在非查询以外的业务逻辑都关闭session,那么session.hashcode肯定有时不同。3.至于删除后的数据还能够显示,我想可能和你设置的commit 和 session.close有关系 每次commit前调用session.flush()是可以清理缓存的 你刷新的时候,问题出现了;F5刷新,执行的是使你上次的操作重复一遍;很简单,你查询时候;public List select() {session = sf.openSession();Query q = session.createQuery("from User";......}是这样没错吧;你刷新的时候很自然的重新开启一个新的session,及时没有关闭前一个session,他也会开心的; hibernate中有的方法来支持cache,,有的不支持有 1.session cache2.sessionFactory cache3 query cache. 每次进行数据库的操作,比如save、saveOrupdate、delete等后面都加上session.flush(); 我用Eclipse自动生成的DAO类时也遇到了类似的问题,至今还没解决。什么session.flush()session.close()session.clear()等方法都用过了也没有用更新后的数据在刷新页面的时候总是随机性地出性正确值和脏数据不知道谁能解决 不是二级缓存的问题,二级缓存默认就不是打开的,另外hashcode也不是判断session是不是同一session的方法吧你没有贴出来代码,不过应该是频繁操作的时候没有session.flush()的缘故吧; 你是怎么删除的数据,如果是用hql语句的话,就很有可能在缓存中产生了脏数据,就有可能照成这种情况。 一级缓存是session级的缓存 没有关的话 那么缓存一直存在 下次再查询就不会去数据库查了 会先查询缓存 求一个截取字符串的方法!!!分不多求帮忙 http components-core这个类库到底怎么传参数呢? 急需技术人员! 无法部署同时具有Remote和Local接口的session bean??? C的简单加密程序翻译成JAVA~ 请问如何进行可持续发展? 诚挚请教大侠一个关于.wsdd文件的问题!!! ejb开发的问题 关于hql语句的问题 请教一个算法 请教Spring的AOP的问题! Sping 内存泄露 Logic不释放问题,在线等
下次再查询就不会去数据库查了 会先查询缓存
F5刷新,执行的是使你上次的操作重复一遍;
很简单,你查询时候;
public List select() {
session = sf.openSession();
Query q = session.createQuery("from User";
......
}
是这样没错吧;
你刷新的时候很自然的重新开启一个新的session,及时没有关闭前一个session,他也会开心的;
1.session cache
2.sessionFactory cache
3 query cache.
后面都加上session.flush();
什么session.flush()
session.close()
session.clear()
等方法都用过了也没有用
更新后的数据在刷新页面的时候总是随机性地出性正确值和脏数据
不知道谁能解决
另外hashcode也不是判断session是不是同一session的方法吧
你没有贴出来代码,不过应该是频繁操作的时候没有session.flush()的缘故吧;
下次再查询就不会去数据库查了 会先查询缓存