2012-06-23 13 views
18

Aby była krótka i słodka:Hibernate - różnica między adnotacjami i adnotacjami?

Istnieje hibernacja-commons-adnotacje 4.1.0-Final i hibernate-adnotacje 3.5.6-Final.

Jestem nub, jaka jest różnica między nimi i czy potrzebuję ich obu?

Próba "uniknięcia" JPA i przez to rozumiem używanie standardów JPA 2.0 osadzonych w Hibernate.

Dzięki!

Odpowiedz

33

Poprzednio adnotacje hibernacji były wydawane i wersjonowane z rdzenia hibernacji. Ale od wersji 3.5 i wyższej jest dołączony do rdzenia hibernacji. I z jakiegoś powodu nadal był zwolniony z 3.5.0 do 3.5.6, ale już go nie potrzebujesz.

Przechodząc do hibernacji-commons-adnotacji, jest to projekt użytkowy używany w pod-projektach opartych na hibernacji adnotacji. Jest używany przez inne projekty hibernacji, takie jak hibernate-search, a zatem jest utrzymywany jako osobny projekt i jest zależny od czasu kompilacji dla hibernacji-core v3.6.0 i wyższej.

Source 1 Source 2

+0

Świetna odpowiedź! Dodano do https://community.jboss.org/wiki/HibernateCompatibilityMatrix, jeśli nie masz nic przeciwko. –

+0

Oczywiście, nie ma problemu! – Ravi

1

Hibernate Commons adnotacji jest "projekt Narzędzie do obsługi adnotacji", jak powiedział na przykład here. Nie zawiera takiego API, którego powinien używać zwykły użytkownik Hibernacji.

Adnotacje w hibernacji zawierały adnotacje mapowania trwałości i powiązany kod. Obecnie jest on scalony z rdzeniem Hibernate.

Jeśli naprawdę chcesz uniknąć JPA (1/2), co łatwo zrobić, nie używając klas z pakietu javax.persistence lub z jego podpakietów. Jeśli chcesz czegoś przeciwnego, użyj javax.persistence i unikaj pakietów org.hibernate, gdzie to możliwe.

Dobry przewodnik do rozpoczęcia pracy z Hibernate można znaleźć pod numerem http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/. Mówi także, które biblioteki są zawsze potrzebne, a które opcjonalne.

Reference documentation zawiera wiele porad dotyczących używania JPA zamiast wycofanych starszych adnotacji Hibernate.

Powiązane problemy