Задать вопрос
@ApolonIn
Начинающий программист

Как правильно подойти к инициализации сессии Hibernate в Java веб приложении?

Я начинаю вникать в библиотеку Hibernate и использовать ее в Java веб приложении, сервлет принимает команды и собственно обрабатывает их с использованием Hibernate.
Вот простой и небольшой пример:
spoiler

Configuration cfg = new Configuration().configure().addAnnotatedClass(User.class);
        ServiceRegistry reg = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
        SessionFactory sf = cfg.buildSessionFactory(reg);

        Session session = sf.openSession();

        Transaction tr = session.beginTransaction();
        
        session.save(user);
        
        tr.commit();
        
        session.close();
        sf.close();



Вопрос: стоит ли мне при каждом запросе заново инициализировать Configuration, ServiceRegistry, SessionFactory? Если нет, какой подход лучше?
  • Вопрос задан
  • 317 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
AStek
@AStek
Не стоит.

И вообще, лучше почитай что-ли исходники Spring-а.
Имхо, там все толково устроено. Можно использовать не только как инструмент но и как пособие.
Ответ написан
Комментировать
@ApolonIn Автор вопроса
Начинающий программист
Привет, я нашел ответ:

Стоит ли мне при каждом запросе заново инициализировать...?

Нет, не стоит, достаточно один раз инициализировать параметры и фаьрику сессий.

Если нет, какой подход лучше?

Инициализировать лучше при начале работы приложения, я это делаю c помощью ServletContextListener
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы