使用jdbc更新数据后,hibernate 缓存对象不更新,与数据库不一致,同一个session中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jdbc更新数据后,hibernate 缓存对象不更新,与数据库不一致,同一个session中相关的知识,希望对你有一定的参考价值。

使用jdbc更新数据后,hibernate 缓存对象不更新,与数据库不一致,同一个session中,如何让hibernate在去数据库中取最新数据覆盖现在有数据

你第一次取到的对象是游离后的对象,里边的数据是持久在hibernate对应的类中的,但是数据的id是不会改变的,你写一个方法是通过id取得对象,这样就在一次取得持久化的对象了,比如用户修改资料,如果没有再一次持久化对象,得到的数据还是以前的数据,不知道你能明白吧 参考技术A update 对象后调用 session.flush();
方法强制与数据库同步。
参考技术B sesssion.merge(Object);
这个方法是用来更新已存在的对象

以上是关于使用jdbc更新数据后,hibernate 缓存对象不更新,与数据库不一致,同一个session中的主要内容,如果未能解决你的问题,请参考以下文章

hibernate不能对数据库中的数据进行监听吗?每次数据库里的数据更新了,但是Hibernate还是查询的是原来的

Hibernate缓存如何实现

Hibernate缓存原理:

JDBC与Hibernate的区别

Infinispan/hibernate 2 级缓存更新不是事务性的?

Hibernate更新HSQLDB数据库的问题