Невозможно получить доступ к данным одной сессии транзакции в другой транзакции

Я использую транзакцию Spring с hibernate jpa. У меня есть одна активная транзакция, внутри которой я создал транзакцию, используя Propogation.RequiredNew, как сделать данные сеанса первой транзакции доступными в следующей транзакции

1 ответ

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

Я не знаю детали вашей реализации, я думаю, вы можете сделать одно из следующих действий;

  1. Вы можете достичь этого, используя OpenSessionInView шаблон. Это обеспечит открытость вашего сеанса Hibernate для запроса, а не для отдельной транзакции.
  2. Вы можете сохранить открытый сеанс, но затем вам нужно убедиться, что у него нет проблем с параллелизмом, так как объекты сеанса не являются потокобезопасными.
Другие вопросы по тегам