Zaczniemy od utworzenia w module entity kilku klas encji JPA. Będą to: Film, Sala, Miejsce, Seans. Na początku klasa Film, z którą to pojawiają się pewne problemy:

Eclipse nie potrafi odnaleźć adnotacji, ponieważ nie znajdują się one w standardowych pakietach dołączanych wraz z javą. Potrzebna więc będzie biblioteka zewnętrzna zawierająca takie adnotacje. Jak wspominaliśmy w części pierwszej takie biblioteki również pobiera i dołącza za nas maven. Ale w jaki sposób? Zajrzyjmy do pliku pom modułu worker. Odnajdziemy tam taki fragment:

Dla pakietu webowego maven domyślnie dołączył zależność javaee-web-api. Skąd się jednak dowiedzieć jaka zależność jest nam potrzebna? Np dla adnotacji @Entity? Nic prostrzego ;)
google i pierwszy link prowadzący do mvnrepository. Wybieramy najnowszą wersję typu release. W moim przypadku jest to 3.5.0-Final. Odnajdziemy tam okienko z potrzebną nam zależnością:

by Yuppy:

Używania zależności org.hibernate:hibernate-annotations ogólnie odradzam. Jest to stary moduł hibernate’a jeszcze z czasów wersji 3.5, potem adnotacje typowo hibernate’owe zostały włączone do modułu hibernate-core. Obecnie najlepszym rozwiązaniem jest korzystanie jedynie z adnotacji JPA, możemy więc dołączyć zależność org.hibernate.javax.persistence:hibernate-jpa-2.1-api lubjavax.persistence:persistence-api. No i oczywiście warto używać w miarę możliwości najnowszego Hibernate, obecnie wersji 4.3.x (z obsługą JPA 2.1).

Otwieramy zatem plik pom.xml modułu entities i dopisujemy do niego nową zależność. Ponieważ jest to pierwsza zależność w tym pliku należy również dodać tag definiujący listę zależności: <dependencies>

Po dodaniu zależności wykonujemy na projekcie polecenie:

i odświeżamy projekt w Eclipsie. Jeśli wszystko wykonaliśmy poprawnie, po najechaniu na adnotacje będziemy mieć możliwość dodania odpowiedniego importu:

mvn0302

Możemy zatem już bez przeszkód zdefiniować wszystkie potrzebne nam encje.


Kurs Maven’a [cz.01] – wstęp
Kurs Maven’a [cz.02] – od czego zacząć
Kurs Maven’a [cz.03] – do czego ten maven
Kurs Maven’a [cz.04] – zależności
Kurs Maven’a [cz.05] – instalacja
Kurs Maven’a [cz.06] – tworzenie modułu, archetyp
Kurs Maven’a [cz.07] – tworzenie modułu, kopiowanie
Kurs Maven’a [cz.08] – tworzenie modułu ręcznie
Kurs Maven’a [cz.09] – parent pom
Kurs Maven’a [cz.10] – import do Eclipsa
> Kurs Maven’a [cz.11] – zależności zewnętrzne
Kurs Maven’a [cz.12] – zależności wewnętrzne
Kurs Maven’a [cz.13] – scope, exclusion
Kurs Maven’a [cz.14] – parametry (properties)
Kurs Maven’a [cz.15] – profile
Kurs Maven’a [cz.16] – cykl życia
Kurs Maven’a [cz.17] – pluginy
Kurs Maven’a [cz.18] – repozytoria zdalne
Kurs Maven’a [cz.19] – podsumowanie