繁体   English   中英

NHibernate缓存/删除问题?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM