NHibernate, чтобы не кэшировать свойство
-
09-06-2019 - |
Вопрос
Как я могу настроить NHibernate, чтобы не кэшировать файл?
Я знаю, что могу создать метод, выполняющий HSQL, но могу ли я с помощью параметра конфигурации в файле <class>.xml или самом файле hibernate 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" ...
Где свойство «использование» кэша может иметь любое из следующих значений:
- читай пиши:обеспечивает изоляцию фиксации чтения, обеспечивает согласованность данных, но не ограничивает доступ к БД так сильно, как другие режимы,
- нестрогое чтение-запись:объекты с редкой записью, небольшая вероятность несогласованности между БД и кешем,
- только для чтения:для объектов данных, которые никогда не меняются, нет шансов на несогласованность.
Не связан с StackOverflow