选择一条数据进行更新操作,数据库可以更新成功,但页面上显示的有时候与数据库一致,有时候不一致,不知道什么原因
查资料是缓存原因,但不知道要怎么改呢,我每个增删改查都有在自己的事务内处理,每次操作完都会关SESSION的
查资料是缓存原因,但不知道要怎么改呢,我每个增删改查都有在自己的事务内处理,每次操作完都会关SESSION的
解决方案 »
- 删除一行
- 在一个类中如何获得调用类的类名,和方法名
- jar包里放的策略文件,程序找不到?
- 一个比较菜的问题: 怎样让JDialog窗口无法改变大小?
- ResultSet is closed Exception
- 继承一个从一个接口implements的抽象类就一定要实现接口中所有定义的方法吗?
- 键盘组合键事件的接口怎么实现?
- 类型转换急急急急
- 请问子类是否必须实现接口中的所有方法?
- 《THINKING IN JAVA》SECOND EDITION 会出中文版么?
- javascript 验证表单??哪个市斤给我看看错误在哪呢?我是新手。主要是邮箱验证这块不懂
- 怎样用netbean编译64bit 程式?
而如果是list,那不会出现不一致(除非你设置了二级缓存)看你的代码是怎么写的了。强制刷出数据,可以用session.refesh(),但是不推荐这样
有问题的情况是,用load方法,没有关闭session改掉后,用get 方法 ,关闭session测试了几次好像问题解决了
不知道是什么原因
修复方法,
可以更改成立即加载;
或者
session.flush();
session.close();
关闭前flush(),他是刷新缓存,并且能够强制缓存与数据库同步更新;
对呀,那既然是提交的时候会自动调用,那么我们就不用显示的调用了啊,但如果是这样,那还要这个flush方法有什么用呢
autocommit=true 说明允许自动提交,但是在调用save等方法后,也不会同步到数据库,必须再调用flush方法
autocommit=false 说明必须显示的提交事务,这时即使调用了flush方法,也不会同步到数据库,必须commit