Отношения JPA/EJB3

Я читал о JPA и EJB3 и хотел бы подтвердить, что мое понимание их отношений корректно. Вот то, что я думаю, что знаю...

JPA является спецификацией, которая была реализована многими поставщиками включая:

  • JBoss/Hibernate
  • Основы Oracle/TopLink (теперь EclipseLink)
  • Apache/OpenJPA

EJB3 является спецификацией, которая реализована в Серверах приложений включая:

  • Glassfish
  • JBoss

Это корректно?

11
задан sdoca 18 May 2010 в 16:39
поделиться

3 ответа

API сохранения состояния Java, представленный в Java EE 5, является подмножеством EJB 3 и заменяет решение сохранения состояния EJB 2.0 CMP. JPA 1.0 был определен как часть спецификации EJB 3.0 ( JSR 220 ), но может использоваться без и вне контейнера EJB. В Java EE 6 JPA 2.0 имеет отдельную спецификацию ( JSR 317 ), выходящую за рамки спецификации EJB 3.1 ( JSR 318 ). Итак, подведем итог:

  • JPA - это подмножество EJB 3, и реализации предоставляются поставщиками персистентности , такими как Toplink Essentials / EclipseLink, Hibernate, Kodo / OpenJPA (Kodo - это проект, из которого был взят исходный код OpenJPA. производный, а Kodo теперь, в свою очередь, основан на OpenJPA) и т. д.

  • EJB 3 представляет собой более широкую спецификацию, и реализации предоставляются контейнером EJB серверов приложений, которые полагаются на поставщиков сохраняемости:

    • Поставщиком сохраняемости по умолчанию для GlassFish v3 является EclipseLink
    • Поставщиком сохраняемости по умолчанию для JBoss является Hibernate
    • Поставщиком сохраняемости по умолчанию для WebLogic 10.3.1+ является OpenJPA / Kodo или EclipseLink
    • Поставщик сохраняемости по умолчанию для WebSphere 6.1 + (основан на) OpenJPA
21
ответ дан 3 December 2019 в 05:33
поделиться

Да , а JPA1 и JPA2 также реализованы в DataNucleus , который также реализует JDO1, JDO2, JDO3, а также спецификацию OGC Simple Feature; а также является единственной действительно независимой реализацией (не привязанной к крупному поставщику программного обеспечения). Очевидно, что пользователи могут свободно вставлять любую реализацию JPA в свою среду EJB3

.
0
ответ дан 3 December 2019 в 05:33
поделиться

Да, у меня тоже был Google OpenJPA, но это правильно

0
ответ дан 3 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

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