чем разница между sessionfactory.openSession () и sessionfactory.openStatelessSession ()? - PullRequest
15 голосов
/ 31 марта 2011

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

1 Ответ

15 голосов
/ 31 марта 2011

Первый открывает нормальный (с сохранением состояния) сеанс, а второй (вероятно, неудивительно) сеанс без сохранения состояния .

Согласно Javadoc , сеанс без сохранения состояния:

Командно-ориентированный API для выполнения массовых операций с базой данных.

Сеанс без сохранения состояния не реализует кэш первого уровня, не взаимодействует с каким-либо кешем второго уровня, не реализует транзакционную запись с обратной записью или автоматическую грязную проверку, а также каскадные операции с ассоциированными экземплярами. Коллекции игнорируются сеансом без сохранения состояния. Операции, выполняемые через сеанс без сохранения состояния, обходят модель событий и перехватчики Hibernate. Сеансы без сохранения состояния уязвимы для эффектов наложения данных из-за отсутствия кэша первого уровня.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...