hibernate脏数据

来源:百度知道 编辑:UC知道 时间:2024/07/02 21:10:02
hibernate session.merge 修改数据后 查询的时候 一会显示 旧数据 一会显示新数据 这个怎么才能解决?
二级缓存我都关闭了。
session也关闭了。
public void merge(Notice detachedInstance) {
//log.debug("merging Notice instance");
Session session = null;
Transaction tran = null;
try {
session=getSession();
tran = session.beginTransaction();
session.merge(detachedInstance);
session.flush();
tran.commit();
//log.debug("merge successful");
} catch (Exception re) {
if (tran !=null) {
tran.rollback();
}
//log.error("merge failed", re);
re.printStackTrace();
}finally{
session.close();
}
}
这是我的merge 方法 事物提交了啊。。

确认事务是否提交了!

义务提醒:

DEBUG注意要点:
Merge后,连接数据库,看看数据库里对应的记录是否发生变化,如果变化,则说明是你取这个对象的时候发生了错误。如果没变化,那说明你压根没写进去。

打开Hibernate的 show_sql选项,看一下控制台输出的SQL语句是否正常。