JPA i Hibernate. Jaka różnica ?

0

Hej, jaka jest różnica pomiędzy jpa i hibernate ? Korzystając z hibernate importuje pewne obiekty JPA (np. adnotacje Entity).

Z mojego małego doświadczenia wynika, że Hibernate jest jakimś rozwinięciem JPA, ale jakim ? Nie mogę znaleźć info o tymna necie, proszę o wytłumaczenie, dzięki

1

W skrocie JPA to specyfikacja, a hibernate jest jej konkretna implementacja. @Shalom pisal o tym z 10x ostatnimi czasy na forum.

As you state JPA is just a specification, meaning there is no implementation. You can annotate your classes as much as you would like with JPA annotations, however without an implementation nothing will happen. Think of JPA as the guidelines that must be followed or an interface, while Hibernate's JPA implementation is code that meets the API as defined by the JPA specification and provides the under the hood functionality.

http://stackoverflow.com/questions/9881611/whats-the-difference-between-jpa-and-hibernate

A powyzej cytat z pierwszego linku w google. Naprawde sie starales przy poszukiwaniach.

1

JPA to specyfikacja - zestaw interfejsów etc. który mówi ci jak cały mechanizm ma pracować. Na gołym JPA z tego co mi wiadomo nic nie idzie zrobić, dopiero implementacja JPA tj. Hibernate lub EclipseLink może faktycznie spełniać swoje zadanie.
To troche tak, jakbyś miał szkic budowy samochodu, a stojący, gotowy samochód. Szkic niby jest, nic nim nie zrobisz, ale masz się na czym wzorować budując samochód, a inni inżynierowie bedą budować na tych samych zasadach ze szkicu. Stąd jak (powtorze się po @n0name_l) @Shalom powtarzał setki również razy, lepiej jest się nauczyć samego JPA niż Hibernate bo w razie zmiany dostawcy implementacji (innej niz Hibernate) zasady są te same.

1 użytkowników online, w tym zalogowanych: 0, gości: 1