Где я должен поместить вызов Hibernate annotationConfiguration (), чтобы это было вызвано только один раз? - PullRequest
0 голосов
/ 20 апреля 2011

В моем веб-приложении есть несколько Java-бинов (EJB 3.1), которые используют Hibernate SessionFactory, и поэтому мне нужно централизовать создание этого объекта, так как мне просто нужен один sessionFactory для всего приложения. Я имею в виду следующий звонок:

SessionFactory sessionFactory = AnnotationConfiguration().configure().buidSessionFactory;

Я хотел бы создать класс HibernateHelper и поместить туда метод, получая новые сеансы внутри bean-компонентов (потому что сеансы Hibernate являются легковесными объектами), но тогда я не знаю, как "заставить" такой класс инициализироваться вместе с заявление (и только один раз).

Некоторые идеи?

Большое спасибо!

1 Ответ

0 голосов
/ 21 апреля 2011

Это очень похоже на другой вопрос: Первый проект Hibernate, где разместить addAnnotatedClass () .

Я бы добавил, что если вы уже используете EJB 3.1, вы, вероятно, уже используете сервер приложений Java EE (например, JBoss AS).В этом случае я бы рекомендовал не использовать Hibernate напрямую, а использовать JPA.Таким образом, АС позаботится об инициализации «менеджера сущностей» (например, сеанса Hibernate) для вас после развертывания приложения.Вам не нужно беспокоиться об этом сантехническом коде.

...