Hibernate управляется весной - PullRequest
0 голосов
/ 24 марта 2012

Просто хочу спросить, что я видел некоторый код, в котором Spring сеанс управляет объектом сеанса Hibernate как Auto-wiring его как SINGLETON bean. Это хорошая практика? Объект будет совместно использоваться в виде многопользовательской среды или не лучше объявить его прокси ??

1 Ответ

0 голосов
/ 24 марта 2012

Сеанс не должен быть компонентом SINGLETON, и он не должен совместно использоваться приложением. В многопользовательской среде каждый пользователь должен иметь свой собственный экземпляр сеанса. Широко используемый подход состоит в том, чтобы открыть сеанс, когда запрос инициирован, и закрыть его, когда запрос завершен. Spring облегчает этот подход, предоставляя OpenSessionInViewFilter. Если у вас настроен этот фильтр, Spring позаботится о жизненном цикле сеанса, вам просто нужно получить к нему доступ, используя метод SessionFactoryUtils.getSession(). Если вы используете Spring 3.1 и Hibernate 4.x, вы можете получить доступ к сеансу, используя sessionFactory.getCurrentSession().

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