Nhibernate флеш виден другим сессиям? - PullRequest
0 голосов
/ 05 декабря 2011

Если я Flush в сеансе NHibernate все изменения будут видны другим сеансам в БД, или NHibernate гарантирует это после I commit только транзакции?

Я обновляю данные с помощью NHibernate, а затемВызовите функцию из пакета Oracle, и я не хочу, чтобы данные были устаревшими.

1 Ответ

2 голосов
/ 05 декабря 2011

Flush будет отправлять только данные sql на сервер базы данных.Коммит передает его в базу данных сам.Данные будут доступны для запроса только после фиксации.

Имейте в виду, что это верно только в том случае, если ваш уровень изоляции «зафиксирован для чтения» (настройка по умолчанию), а при использовании «чтение незафиксировано» данные запрашиваются после их отправки.в базу данных (flush принудительно вызовет sql в базу данных).

edit: Thx stefan для комментирования уровня изоляции

...