Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Odwzorowania relacyjno-obiektowe Hibernate Podstawy.

Podobne prezentacje


Prezentacja na temat: "Odwzorowania relacyjno-obiektowe Hibernate Podstawy."— Zapis prezentacji:

1 Odwzorowania relacyjno-obiektowe Hibernate Podstawy

2 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 Plan wykładu Modelowanie relacyjno-obiektowe Klasy trwałe i encje Definiowanie relacji pomiędzy klasami trwałymi Wyszukiwanie danych

3 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 3 Relacyjne bazy danych - zalety Zarządzanie dużymi ilościami danych –wyszukiwanie, sortowanie Zarządzanie grupami danych –Łączenie, agregacja Współużytkowanie –Współbieżność (transakcje) Integralność –Więzy integralności –Izolacja transakcji

4 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 4 Relacyjne bazy danych - wady Niezgodność modelu pojęciowego z modelem implementacyjnym Brak środków hermetyzacji i modularyzacji (brak oddzielenia implementacji od specyfikacji)

5 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 5 Technologie dostępu do bazy danych (I) JDBC –Podstawowy interfejs dostępu do baz danych –Ręczne kodowanie w JDBC uciążliwe i podatne na błędy SQLJ –Naturalne zagnieżdżanie poleceń SQL w kodzie Java –Odporna na błędy alternatywa dla bezpośredniego korzystania z JDBC –Martwy standard

6 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 6 Technologie dostępu do bazy danych (II) Encyjne EJB 2.x –Nienaturalne –Złożone Biblioteka znaczników JSTL SQL –Wygodna w prostych aplikacjach opartych na JSP –Miesza logikę biznesową z logiką prezentacji, narusza model MVC Technologie odwzorowania obiektowo-relacyjnego –Efektywnie mapują świat obiektów na świat relacyjnej bazy danych –Najczęściej działają w warstwie webowej aplikacji

7 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 7 Mapowanie obiektowo-relacyjne Skorzystać z zalet relacyjnych baz danych Jednocześnie nie rezygnując z obiektowości

8 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8 Java Persistance API Odejście od modelu relacyjnego na rzecz wygodnego i naturalnego obiektowego modelu danych Obiektowy język zapytań EJB QL Uniezależnienie się od bazy danych Podejście obiektowe : dziedziczenie, kolekcje, zależności Automatyczna obsługa transakcji wewnątrz kontenera EJB Wbudowane wsparcie dla optimistic lock Rezygnacja ze wzorca DTO Wykorzystanie adnotacji

9 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 9 Architektura

10 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 10 Konfiguracja oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@desyesb.oracle.dmcs.pl admin org.hibernate.dialect.Oracle9Dialect

11 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 11 SessionFactory Instancja org.hibernate.cfg.Configuration służy do zbudowania obiektu SessionFactory. SessionFactory przechowuje skompilowane mapowania oraz konfiguracje środowiska Hibernate dla pojedynczej bazy. SessionFactory jest dzielony pomiędzy wiele wątków. SessionFactory jest podstawą do stworzenia obiektu Session.

12 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 12 Session Session jest jednowątkowym obiektem reprezentującym dialog pomiędzy aplikacją, a bazą danych. Obiekt Session opakowuje połączenie JDBC. Sesja stanowi podstawową jednostkę pracy z Hibernatem. Session stanowi podstawę do stworzenia obiektu Transaction.

13 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 13 Synchronizacja bazą danych Session sessions = HibernateUtil.getSession(); sessions.getTransaction().begin(); List list = sessions.createQuery("from Uzytkownik").list(); for (Uzytkownik u : list) System.out.println(u.getImie()); Uzytkownik u = new Uzytkownik(); u.setImie("jan"); sessions.persist(u); sessions.getTransaction().commit(); sessions.close();

14 Odwzorowania relacyjno-obiektowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14 Przykład – EJB3 public @Stateless class UzytkownikDAOBean implements UzytkownikDAO { @PersistenceContext(unitName = "PostgresU") private EntityManager entityManager; public Uzytkownik addNew() { Uzytkownik uzytkownik = new Uzytkownik(); uzytkownik.setImie(”Jan"); entityManager.persist(uzytkownik); return cust; }


Pobierz ppt "Odwzorowania relacyjno-obiektowe Hibernate Podstawy."

Podobne prezentacje


Reklamy Google