Hibernate Podstawy.

Slides:



Advertisements
Podobne prezentacje
Projektowanie Aplikacji Komputerowych
Advertisements

Architektura SAP R/3 Wybrane zagadnienia.
Zaawansowane metody programowania – Wykład V
Odwzorowanie obiektowo-relacyjne
Systemy do operowania dużymi i trwałymi zbiorami danych
Microsoft Professional Developer Days 2004
Implementacja ekstensji klasy
Opracowanie zasad tworzenia programów ochrony przed hałasem mieszkańców terenów przygranicznych związanych z funkcjonowaniem dużych przejść granicznych.
Artur Jonak empolis Polska Sp. z o.o.
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
Marcin Pamuła Mateusz Stefek
25/08/ Języki programowania 1 Piotr Górczyński Obiekty i zdarzenia.
Architektura systemu Gra strategiczna „Strusia Jama”
Wycofywanie potwierdzonych transakcji
PySBQL Język zapytań dla obiektowych baz danych. Aplikacje bazodanowe Główny nurt budowania aplikacji opiera się na połączeniu: SQL JDBC Java Jak wyświetlić
Data powstania: 2001 rok Autor i lider: Gavin King Najnowsza wersja: Licencja: Open Source.
Hibernate Klasy trwałe
Odwzorowania relacyjno-obiektowe Hibernate Tranzakcyjność i bezpieczeństwo danych.
Marcin Kujawa Michał Łobarzewski
Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznych Autor: Jarosław Lis Warszawa, 2006r.
Wykład 8 Wojciech Pieprzyca
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Język Java Wielowątkowość.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Modele baz danych - spojrzenie na poziom fizyczny
Odwzorowania relacyjno-obiektowe Hibernate Klasy trwałe.
Hibernate relacje.
Spring podstawy.
Hibernate uzupełnienie
Odwzorowania relacyjno-obiektowe Hibernate Tranzakcyjność i bezpieczeństwo danych.
Analiza, projekt i częściowa implementacja systemu obsługi kina
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Multimedialne bazy danych
Wykład 6 Zagadnienia związane z projektowaniem systemów informacyjnych
Wykład 4 Analiza i projektowanie obiektowe
System katalogowania. Opis i architektura.
Bazy Danych Dr inż. Mariusz Tupaj
Architektura Systemu MunSOL
Message-Driven Bean.
Inż. Łukasz Antoniak Promotor: dr inż. Piotr Gawrysiak Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych, 2010.
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Programowanie obiektowe – język C++
„Kalkulator zużycia oraz kosztu energii elektrycznej online „
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
Programowanie w języku C++
Praktyczne wykorzystanie wzorców projektowych MVC oraz IoC.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Model obiektowy bazy danych
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Piotr Czapiewski Wydział Informatyki ZUT Wykład 2.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
.NET i Bazy Danych Projekt: Wadim Grasza.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Wzorce Projektowe w JAVA
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Analiza, projekt i częściowa implementacja systemu wspomagania pracy Referatu Reprografii Promotor: mgr inż. Dariusz OlczykWykonała: Katarzyna Ściwiarska.
(według:
Programowanie Obiektowe – Wykład 2
Technologie Informacyjne Bazy danych
Programowanie w Javie 1 Dr Robert Kowalczyk
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Hibernate Podstawy

Plan wykładu Modelowanie relacyjno-obiektowe Klasy trwałe i encje Definiowanie relacji pomiędzy klasami trwałymi Wyszukiwanie danych

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

Relacyjne bazy danych - wady Niezgodność modelu pojęciowego z modelem implementacyjnym Brak środków hermetyzacji i modularyzacji (brak oddzielenia implementacji od specyfikacji)

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

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

Mapowanie obiektowo-relacyjne Skorzystać z zalet relacyjnych baz danych Jednocześnie nie rezygnując z obiektowości

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

Architektura

Konfiguracja <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN” "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@desyesb.oracle.dmcs.pl</property> <property name="hibernate.connection.password">admin</property> <property name="hibernate.connection.username">admin</property> <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> <mapping class=”przyklad.Uzytkownik" /> </session-factory> </hibernate-configuration>

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.

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.

Synchronizacja bazą danych Session sessions = HibernateUtil.getSession(); sessions.getTransaction().begin(); List<Uzytkownik> 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();

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; }