Разница между getSession () и getNewSession () - PullRequest
0 голосов
/ 29 мая 2011

Используя Spring SessionFactoryUtils для Hibernate, какова реальная разница между getSession () и getNewSession ()?

Я был getSession () в методе DAO, но когда он начал вызываться довольно часто, начала появляться куча исключений "Session is closed". Я изменил его на getNewSession (...), и теперь, как будто эти проблемы исчезли ... но все же, мне нужно знать.

Пожалуйста, объясните.

1 Ответ

4 голосов
/ 29 мая 2011

getSession() попытается найти ранее существующий сеанс, связанный с текущим потоком, создавая его при необходимости. getNewSession() всегда будет создавать сеанс. Ага здесь: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/orm/hibernate3/SessionFactoryUtils.html.

Если вы чувствуете, что сеанс закрывается из-за ошибки слишком часто, попробуйте найти, где ваш сеанс выпускается.

...