2009-10-01 3 views
3

Насколько я знаю, JPA сама предлагает все блестящие функции, такие как ORM, JPQL, сопоставление сущностей и т. Д. Но я действительно не понимаю, почему люди используют Hibernate или Toplink поверх JPA.Что предлагает Hibernate/Toplink над JPA?

Что предлагает Hibernate, что у самой JPA нет?

ответ

8

JPA - это всего лишь спецификация. Hibernate и TopLink являются реализациями этой спецификации.

Кроме того, спецификация JPA немного слаба, она предоставляет только подмножество функций, которые предоставляют Hibernate и TopLink. Иногда желательно или необходимо выйти за рамки JPA и использовать проприетарные функции базовой реализации.

2

Вы должны сделать сравнение с JPA1, а затем против JPA2 (еще не окончательный, но есть спецификация) и посмотреть, какие функции вы хотите в своем приложении, чтобы увидеть, не поддерживаются ли какие-либо JPA. Это единственный разумный способ оценить, можете ли вы использовать чистую JPA. Все реализации технологии persistence имеют свои собственные дополнения, которые могут иметь большой смысл для вашего приложения, но они могут и не слишком. Оцените ваше приложение для типов отношений между объектами. Чтобы начать работу, вы используете поля, которые являются интерфейсами? JPA не поддерживает интерфейсные отношения. JPA1 не поддерживает односторонние отношения FK 1-N, но это в JPA2.

--Andy (DataNucleus)

+0

Я исследую то же самое. можете ли вы предоставить (или, по крайней мере, указать мне на онлайн-документы) следующие две вещи, которые вы упомянули для JAP1: 1) определяемые интерфейсом отношения и 2) отсутствие поддержки 1-N унифицированных отношений FK –

+0

Чтение спецификации JPA) подтвердит то, что я ставлю. – DataNucleus

 Смежные вопросы

  • Нет связанных вопросов^_^