Spring HibernateTemplate: как он работает с транзакциями? - PullRequest
2 голосов
/ 31 марта 2010

Не могли бы вы объяснить, что происходит за кулисами?

Управление транзакциями при использовании этого шаблона в Spring абсолютно неясно.

Что если я вызову 10 методов DAO, которые все используют один и тот же Hibernatetemplateи я призываю их один за другим?Каждый метод выполняется в пределах своей собственной транзакции?

Это не эффективно, не так ли?

Ответы [ 4 ]

3 голосов
/ 31 марта 2010

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

3 голосов
/ 31 марта 2010

Как правило, вы разместите свои транзакции на уровне обслуживания, см. Spring документы .

2 голосов
/ 31 марта 2010

Вы должны использовать Spring декларативное управление транзакциями на сервисах, а не DAO.

Службы знают о единицах работы, а не DAO.

0 голосов
/ 02 апреля 2010

Транзакции определены в сервисах, вы хотите избежать определения транзакций в DAO Уровень DAO с выполнением операций с данными в транзакциях, определенных на уровне обслуживания.

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