2010-04-14 2 views
2

У нас есть база данных, которая обновляется через фоновый процесс. Мы используем NHibernate для запроса данных для отображения в веб-интерфейсе, поэтому нам не требуется отслеживание изменений или ленивая загрузка.Безгосударственный NHibernate для запроса

Если мы помечаем все сопоставления как mutable = "false", это то же самое, что и при использовании сеанса без состояния?

ответ

4

Нет, это не то же самое. Фактически, это абсолютно не имеет к этому отношения (т. Е. Вы можете изменять объекты в сеансах без гражданства).

A StatelessSession не отслеживает сущности, что приводит к большим улучшениям производительности (как в использовании памяти, так и в случае выполнения), когда вам не нужны функции, которые предоставляет сеанс с состоянием.

В частности:

  • Там нет отложенной загрузки
  • Там нет кэширования
  • Там не существует каскадного
  • Все обновления должны быть явными (вставка/обновление/удаление)
+0

Но маркировка mutable = "false" означает, что объект не будет отслеживаться? – JontyMC

+1

Нет, это не так. Это означает, что он не будет * обновлен *, как только он будет настойчивым, но это всего лишь флаг; вся сантехника все еще там. –

Смежные вопросы