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

关于HIBERNATE删除后查询出现了脏读的有关问题

2012-03-09 
关于HIBERNATE删除后查询出现了脏读的问题我在用HIBERNATE对实体对象进行删除后:如:addao.makeTransient(a

关于HIBERNATE删除后查询出现了脏读的问题
我在用HIBERNATE对实体对象进行删除后:
如:
addao.makeTransient(ad);(这个类我封装了,用MYSQL查询表已经确认删除无误)
但在次进行对表的查询发现原来已经删除的纪录又出现了:
如:
query   =   session.getNamedQuery(namedquery);
遍历纪录集后被删除的纪录又出现了!

初步估计是于HIBERNATE的缓存有关系,好像是从session中调出数据时并没有从数据库里进行调用,   **因为我在删除操作之前已经进行了一次查询操作**  

麻烦大虾们帮我解决一下这个问题,这样的情况下该如何避免出现脏读?

[解决办法]
在查询前加上
getSession().clear();
就可以了。

这个问题在开始使用 hibernate 的时候最常见了。

热点排行