Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Hibernate PostgreSQL MARCIN NOWAK, WOJCIECH BASZCZYK.

Podobne prezentacje


Prezentacja na temat: "Hibernate PostgreSQL MARCIN NOWAK, WOJCIECH BASZCZYK."— Zapis prezentacji:

1 Hibernate PostgreSQL MARCIN NOWAK, WOJCIECH BASZCZYK

2 PostgreSQL  Jest to jeden z najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych  Działa na wielu systemach operacyjnych  Posiada mechanizm Multiversion Concurrency Control jednocześnie zachowując zasady ACID.  Zawiera razszeżenia obiektowe - definiowanie nowych typów, czy dziedziczenie typów tablic  Zgodność ze standardem SQL  pgAdmin

3 PostgreSQL - ograniczenia

4 Instalacja silnika PostgreSQL  W celu instalacji należy pobrać odpowiednią wersję ze strony:  Instalacja jest bardzo prosta i intuicyjna – wystarczy zaakceptować licencję, odpowiednią liczbę razy kliknąć „next”, a końcu „finish”  Pobrana paczka zawiera serwer bazy PostgreSQL oraz narzędzie do zarządzania bazą – pgAdmin III  Tworzenie nowej bazy danych również bardzo intuicyjne

5 pgAdmin III – główne okno

6 pgAdmin III – zapytania SQL

7 Co to jest Hibernate?  Framework będący warstwą pośredniczącą pomiędzy bazą danych a aplikacją  Główną funkcjonalnością jest mapowanie obiektowo-relacyjne  Składa się kilku podprojektów, jak HibernateAnnotations, HibernateShards, HibernateTools itd.  NHibernate – implementacja mapowania obiektowo-relacyjnego dla platformy.NET

8 Dodawanie zależności Hibernate do projektu  Można ręcznie pobierać odpowiednie jary, ale wygodniej wykorzystać Mavena  Wymagane zależności: org.hibernate hibernate-core Final  Trzeba również dodać sterownik do silnika SQL: org.postgresql postgresql jdbc41

9 hibernate.cfg.xml  Podstawowy plik konfigurujący połączenie z bazą danych oraz mapowanie obiektowo-relacyjne  Można w nim ustawić bardzo dużo parametrów, jednak w przypadku tego tutoriala ograniczymy się do podstawowych  Najprościej ściągnąć szablon z Internetu i pozmieniać w nim odpowiednie pola

10 connection.driver_class – klasa sterownika silnika SQL connection.url – adres:port/nazwa_bazy connection.username, connection.password – oczywiste connection.pool_size – liczba połączeń w puli JDBC Uwaga: „ The built-in Hibernate connection pool is in no way intended for production use. It lacks several features found on production-ready connection pools. See the section discussion in Hibernate Developer Guide for further information.” ~http://docs.jboss.org/hibernate/orm/4.2/quickstart/en- US/html/ch02.html#hibernate-gsg-tutorial-basic-config

11 dialect – klasa wspomagająca tworzenie zapytań SQL dla konkretnego dialektu Pełna lista dialektów: e-summary.html e-summary.html show_sql – włączenie/wyłączenie logowania przez hibernate treści zapytań SQL hbm2ddl.auto – parametr odpowiedzialny za generowanie schematu bazy danych na podstawie zdefiniowanego mapowania. Możliwe wartości: o create – za każdym razem tworzy od nowa schemat bazy o create-drop – tak samo jak wyżej, dodatkowo po zakończeniu działania dropuje bazę o update – stara się aktualizować ewentualne zmiany schematu o validate – sprawdza, czy schemat bazy zgadza się z mapowaniem

12 W tej sekcji listujemy wszystkie klasy, które mają zostać mapowane i zapisywane w bazie danych Jeżeli korzystamy z mapowania przy pomocy XML’a (o tym za chwilę), zamiast należy użyć:

13 Utworzenie sessionFactory jest kosztowne, więc wykonujemy je tylko raz jako zmienną statyczną ogólnodostępnej klasy W metodzie configure(string) podajemy ścieżkę dostępu do pliku hibernate.cfg.xml – względem katalogu resources, gdzie domyślnie szuka Hibernate Jedyny sposób utworzenia sessionFactory, który nie jest „deprecated” w Hibernate 4.3.x Klasa HibernateUtil

14 Mapowanie obiektowo-relacyjne  Na początku tworzymy klasy, których instancje chcemy przechowywać w bazie  Standard POJO – Plain Old Java Object – prywatne pola, gettery i setery o nazewnictwie getNazwaPola() (ew. isNazwaPola() dla boolean) – bez żadnych udziwnień  Następnie mapujemy obiekt na relację używając jedną z dwóch metod:  starszej - przy pomocy plików XML  nowszej - przy pomocy adnotacji

15 Mapowanie przez pliki XML  Do każdej mapowanej klasy tworzymy odpowiadający plik nazwa_klasy.hbm.xml  Wypisujemy wszystkie pola, które mają być odwzorowywane w bazie  Niewygodne – zmiana w kodzie wymusza tę samą zmianę w pliku xml

16 Mapowanie przez adnotacje  Nie trzeba tworzyć żadnych dodatkowych plików, całe mapowanie zawarte w adnotacjach  Można adnotować pola albo gettery  Mapowaną klasę oznaczamy przy następnie oznaczamy jej pola nie będące typami prostymi oraz mające szczególne właściwości (np. klucz główny) odpowiednimi adnotacjami

17 Podstawowe adnotacje - klasa jest – nazwa tabeli w bazie, można ustawić dodatkowe opcje – klucz – strategia przydzielania – nazwa kolumny, można ustawić dodatkowe opcje – relacja wiele @ManyToMany – – pola zależnej klasy będą w tej samej tabeli (nie będzie tworzona osobna tabela) – pole nie będzie – duży obiekt (large object)


Pobierz ppt "Hibernate PostgreSQL MARCIN NOWAK, WOJCIECH BASZCZYK."

Podobne prezentacje


Reklamy Google