2010-04-21 2 views

ответ

16

StatelessSession не отслеживает изменения, внесенные в объекты, и не имеет ленивой поддержки загрузки. Вот почему он имеет лучшую производительность, чем сеанс.

Но с сеансом без гражданства вы вынуждены вручную управлять операциями Insert, Delete, Update, и это действительно неудобно.

сессионный сделано для пакетных операций, когда вам нужно сделать много запросов к базе данных, и вам не нужно отслеживать изменения и т.д.

+0

Существуют различные варианты использования, а также. Например, когда у вас небольшая база данных и вы хотите сохранить ее все в памяти на протяжении всего срока службы приложения, и нужна база данных только для восстановления состояния приложения после перезапуска. В этом случае 'IStatelessSession 'избавляет вас от накладных расходов на производительность, связанных с ленивой загрузкой, слиянием и т. Д .... Конечно, это также означает, что вам придется реализовать какое-то отслеживание изменений самостоятельно, например. с пользовательской реализацией модели работы. Конечно, NHibernate, возможно, не подходит для этого случая использования ... – chris

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