1. Обзор В этой статье будет показано, как реализовать DAO с помощью Spring и Hibernate . 2. Больше никаких Spring шаблонов Начиная с Spring 3.0 и Hibernate 3.0.1, Spring HibernateTemplate больше не требуется для управления сеансом Hibernate. Теперь можно использовать контекстные сеансы — сеансы, управляемые непосредственно Hibernate и активные на протяжении всей транзакции. Как следствие, сейчас рекомендуется использовать Hibernate API напрямую, а не HibernateTemplate. Это позволит полностью отделить реализацию уровня DAO от Spring. 2.1. Преобразование исключений без HibernateTemplate Преобразование исключений было одной из обязанностей HibernateTemplate — преобразование низкоуровневых исключений Hibernate в общие исключения Spring более высокого уровня. Без шаблона этот механизм по-прежнему включен и активен для всех DAO, аннотированных аннотацией @Repository . Под капотом используется постпроцессор компонентов Spring, который будет консультировать все компоненты @Repository со всеми