Использование HibernateDaoSupport
/ HibernateTemplate
не рекомендуется, поскольку излишне привязывает ваш код к классам Spring.
Использование этих классов было неизбежно в более старых версиях Hibernate для интеграции поддержки транзакций, управляемых Spring..
Однако, начиная с Hibernate 3.0.1, он вам больше не нужен - вы можете написать код для простого API Hibernate при использовании транзакций, управляемых Spring.Все, что вам нужно, это настроить поддержку транзакций Spring, ввести SessionFactory
и вызвать getCurrentSession()
, когда вам нужно работать с сессией.
Еще одним преимуществом HibernateTemplate
является перевод исключений.Без HibernateTemplate
та же функциональность может быть достигнута с помощью аннотации @Repository
, как показано в ответе Гарета Дэвиса.
См. Также: