Если вы используете EJB3 JPA, нужен ли мне спящий режим? - PullRequest
1 голос
/ 27 января 2012

Я знаю, что JPA - это просто стандарт, и для его использования вам нужна реализация, такая как Hibernate3.2. Мой вопрос: поставляется ли EJB3 с реализацией JPA, или мне все еще нужна реализация, такая как hibernate, для использования помимо EJB3?Если вы можете указать мне любой полезный учебник по этому вопросу, это будет здорово:)

Спасибо

Ответы [ 3 ]

3 голосов
/ 27 января 2012

Если контейнер поддерживает JPA, он предоставляет вам API (EntityManager и другие), вам все равно, что его реализует. Так что нет, вам не нужно использовать Hibernate. Некоторые контейнеры будут использовать Hibernate, другие EclipseLink и т. Д. Но с вашей точки зрения вы используете API, который просто работает .

1 голос
/ 28 января 2012

Это зависит от конкретной реализации контейнера Java EE.JPA больше похож на интерфейс, спецификацию, а Hibernate - это пользовательская реализация JPA.

Hibernate поставляется с JBoss, Eclipselink является примером другой реализации JPA, которая поставляется с Glassfish.Но вы все равно можете использовать Hibernate + Glassfish, если хотите.

1 голос
/ 28 января 2012

Если вы используете такие функции Hibernate, как @ Filter , вы должны использовать Hibernate в качестве поставщика JPA. Некоторые серверы приложений (например, JBoss) используют Hibernate в качестве поставщика JPA.

...