wtorek, 3 marca 2009

JPA w NetBeans Platform

W dzisiejszych czasach niemal każda aplikacja korzysta w jakiś sposób z bazy danych, niestety programiści tworzący NetBeans Platform chyba o tym zapomnieli i nie dali programistom wygodnego dostępu do zasobów bazodanowych. Oczywiście w czeluściach dostępnych modułów można znaleść moduł Database, ale przy próbie dodania go do projektu okazuje się, że potrzebuje olbrzymiej ilości dodatkowych modułów czasem bardzo luźno związanych z bazą danych (np. platform/favorites). Jeśli ktoś zasmakował JPA to raczej niemożliwe by wrócił do JDBC, klepania zapytań z ręki i ich manualnej obróbki do strawnej formy. Jak więc obsłużyć bazę w NetBeans Platform i to z wykorzystaniem JPA. Nie jest to banalne rozwiązanie jak podpięcie bazy w aplikacji webowej ale na szczęście możliwe.



Aby dodać obsługę bazy w projekcie postąpiłem według poniższych kroków:

  1. Utworzyć dodatkowy projekt z kategorii Java->Java Application, posłuży on do wygenerowania Encji oraz pliku konfiguracyjnego persistence.xml, a także dzięki niemu skopiujemy potrzebne nam biblioteki.

  2. W właściwościach projektu(Java Application) w zakładce Libraries dodać biblioteki:  Persistence, Toplink Essentials, Toplink Essentials - Agent oraz MySQL JDBC Driver.

  3. Stworzyć klasy mapujące tabele w bazie danych oraz PersistenceUnit.

  4. Utworzyć moduł( w aplikacji  NbPlatform) który ma wykorzystywać bazę danych.

  5. Przekopiować stworzone pliki (Pakiet META-INF oraz dbconf) do pakietu aplikacji

  6. Stworzyć moduł wrappera na biblioteki wymienione wyżej, aby to zrobić wystarczy wejść do opcji modułu który ma korzystać z bazy i tam w zakładkach dać "New Library" po czym wskazać wszystkie biblioteki i iść zgodnie z kreatorem.

  7. W module który ma korzystać z bazy utworzyć pakiet klas DAO.

  8. I wszystko działa.

Oczywiście z klas encji oraz klas DAO można stworzyć osobną bibliotekę i zaimportować ją jak biblioteki dostępu do bazy, ale jak dla mnie było to niewygodne rozwiązanie z racji, że klasy te były przeze mnie często modyfikowane.

Brak komentarzy:

Prześlij komentarz