通常,您具有隔离级别
“已读读”。这使您的事务可以查看其他事务已提交的更改。隔离级别由基础dbms实现,而不是由hibernate模式实现。
您不能禁用第一级缓存(可能通过使用无状态会话,不应将其用于一般用途)。执行查询时,NH总是从缓存中返回值,以确保在内存中不会一次获得相同的数据库记录。
如果这是您的问题,则应切换到更高的隔离级别。例如可重复读取(这意味着它的意思:多次读取相同的数据时,您总是会得到相同的结果)。仍然有机会看到其他交易的变化。使用隔离级别可序列化的隔离,您不再应该遇到这种问题。
注意:切换到另一个隔离级别是大多数系统的重大更改,应仔细计划。



