NHibernate不缓存属性

时间:2020-03-05 18:56:45  来源:igfitidea点击:

如何配置NHibernate不缓存文件?
我知道我可以创建一个执行HSQL的方法,但是我可以通过<class> .xml文件或者休眠xml文件本身中的配置设置不缓存属性吗?

解决方案

回答

我们无法在属性级别上设置二级缓存设置(据我所知),但是我们可以直接在每个实体的XML文件中分别调整每个实体的缓存设置。

例如:

<?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">  

<class name="ClassName" table="Table">
   <cache usage="nonstrict-read-write" />

    <id name="Id" type="Int64" ...

高速缓存的"使用情况"属性可以是以下任何值:

  • 读写:确保读取提交隔离,确保数据一致,但不会像其他模式那样减少数据库访问,
  • nonstrict-read-write:具有极少写入的对象,DB和缓存之间存在少许不一致的机会,
  • 只读:对于永不更改的数据对象,不会出现不一致的机会。