Что предлагает Hibernate / Toplink выше JPA? - PullRequest
3 голосов
/ 01 октября 2009

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

Что предлагает Hibernate, которого нет у JPA?

Ответы [ 2 ]

8 голосов
/ 01 октября 2009

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

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

2 голосов
/ 02 октября 2009

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

- Энди ( DataNucleus )

...