首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

请高手回答:Hibernate和jdbc修改数据库更新不一致有关问题

2012-03-03 
请高手回答:Hibernate和jdbc修改数据库更新不一致问题我做个项目,持久层技术一部分是拿Hibernate3实现,一

请高手回答:Hibernate和jdbc修改数据库更新不一致问题
我做个项目,持久层技术一部分是拿Hibernate3实现,一部分是拿JDBC实现,当我用JDBC去修改数据库(mysql)中的数据时,可拿Hibernate query.list(); 
【在query.list();代码之前之后,我都调用了session.flush();session.clear();】浏览数据时却还是没改,但进数据库一看,发现数据已经改了。我知道是Hibernate缓存弄的鬼,不知道各位大虾那位明白帮弄弄! 谢谢了

[解决办法]
我觉得不是Hibernate的缓存问题,是数据库的隔离级别问题,数据库的隔离级别有未提交读,已提交读,可重复读,快照,可序列化,不知道你用的时什么数据库,不同的数据库的隔离级别不同。
Hibernate session在clear,fluse后已经发出sql语句了
要不你Commit再试试
[解决办法]
在没有二级缓存的情况下,hibernate的list方法,是直接从数据库中获取数据,不会出现楼主的问题

在配置了二级缓存的查询缓存的情况下,就会出现不一致的问题,如无特殊需要,建议取消二级查询缓存的配置

热点排行