[英]NHibernate cache/deletion problem?
我正在使用NHibernate并在我的NHibernate配置中指定了缓存区域:
<cache region="HalfHour" expiration="1800" priority="3" />
我有一个实体定义( UserDefinedGroup
),它被设置为在读写模式下使用此缓存区域:
<class name="UserDefinedGroup" table="Message_Groups">
<cache region="HalfHour" usage="read-write" />
...
</class>
我还有一个HQL查询,设置为使用查询缓存,因为它返回大量UserDefinedGroup实例:
var results = Session.CreateQuery("from UserDefinedGroup order by Name")
.SetCacheable(true)
.SetCacheRegion("HalfHour")
.List<UserDefinedGroup>();
但是,当我尝试删除UserDefinedGroup
的实例时,即使实体设置为使用读写缓存,我也会收到以下错误。
ReadOnlyCache:无法写入只读对象Cristal.Model.UserDefinedGroups.UserDefinedGroup
我是否完全忽略了NHibernate缓存的观点或误解? 我希望这可以执行删除和缓存适当地处理自己,但显然这不会发生。
这个缓存区域是否被其他任何实体使用? 如果是这样,缓存的用法是否为只读? 特定区域应该只有一种使用类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.