Как работает Hibernate-сессия - PullRequest
3 голосов
/ 01 июня 2011

У меня есть какие-то тривиальные запросы в Hibernate.

  1. Если предположить, что запущены два экземпляра, и каждый использует свой собственный сеанс гибернации.Если один сеанс вставляет данные в БД, а второй сеанс пытается получить новые данные, сможет ли он получить эти данные?

  2. Я установил первичный ключ, который должен генерироватьсяПоследовательность БД.Поэтому я создаю экземпляр и вызываю save (), но не фиксирую транзакцию.Я все еще могу получить идентификатор этого экземпляра.В этот момент происходит вызов БД или как hibernate поддерживает свой сеанс?

1 Ответ

2 голосов
/ 01 июня 2011
  1. да, после передачи данных в БД; это зависит от уровня изоляции , настроенного для транзакции

  2. Да, это будет что-то вроде select nextval('MY_SEQUENCE');, это будет идентификатор, установленный для сущности; Итак, у вас есть идентификатор, даже если транзакция еще не зафиксирована.

Эту статью стоит прочитать.

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