java - Hibernate - 更新/选择后的结果相同

标签 java hibernate select jpa caching

hibernateSession.createQuery("选择 foo,其中 id = 1");
//该命令返回 id 为 1 的 Item。

//[BREAK POINT STOP] ==> 我进入 MySQL 并手动删除此项。
//[断点继续]

hibernateSession.createQuery("选择 foo,其中 id = 1");
//该命令也返回 id 为 1 的项目! :-(

与 hibernateSession.flush()/hibernateSession.clean() 相同
我想我没有很好地使用我的 hibernate 缓存...

最佳答案

第一个查询将将该对象加载到 hibernate session 中。 您删除数据库中的行不会产生任何影响,因为您正在使用相同的 session 。

您需要开始一个新 session 或 evict session 中的对象。

关于java - Hibernate - 更新/选择后的结果相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888632/

相关文章:

angularjs选择需要不工作的ng-options

java - 在 `equals(T value)` 中,T 必须是 Object,还是可以像 City 等?

java - 如何在android中设置自定义对话框的高度和宽度

java - 如何在 JPAQuery 中使用 INNER JOIN?

java - Hibernate 中的 MSSQL 用户定义数据类型(缺少列异常)

spring - JPA : How to handle the entity mapping with two foreign keys and those two foreign together acts as a primary key

java - 如何正则表达式空格分隔的字母?

hibernate + Java 9 + javax.transaction.SystemException

mysql - 如果第一个值为空,则可以用其他值替换 ORDER BY

php - MySQL - 跨两个表的最佳实践