第一级缓存中存在陈旧数据

本文关键字:陈旧 数据 存在 一级缓存 | 更新日期: 2023-09-27 18:18:54

我有多个会话工作在我的数据库在同一时间。(常规DB会话和NHibernate会话)

当我第一次从数据库获得一个实体时,这个实体被存储在第一级缓存-身份映射中。

如果在第一次查询之后,实体在NH会话之外发生了变化,会发生什么?数据过期

session.Get<Cat>(1).Name == "Bar" // true
// different session trigger updated the cat name to "Foo"    
session.Get<Cat>(1).Name == "Bar" // true
是否有一种方法可以同步NHibernate会话到会话外的变化?

第一级缓存中存在陈旧数据

这很简单:

session.Refresh(cat);