Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Konzepte objektorientierter Systeme
Definition von Klassen in Java
JPQL Java Persistence Query Language
1 Spezielle Packages des Java SDK (1.4) java.nio.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
JDBC EDV JDBC.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Herzlich Willkommen… welcome… soyez la bienvenue….
Working With Persistent Objects
Wir bauen uns eine Webapplikation!
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Referent: Stephan Metzler
Reinhard Stumptner Seminar Softwareentwicklung Dynamisches Laden und Binden in Java.
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Torque robert.resch-wolfgang.schneider. uebersicht Was ist Torque Komponenten von Torque Generator Erzeugte Klassen Methoden Torque in Turbine Demobeispiel.
Hibernate (OR-Mapping)
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
SystemJ AbschlußpräsentationDBJCatalogManager Dennis Heimann + Marcus Hetterle Friedrich Schiller Universität Jena 2005.
Javabasierte Webtechnologien Objektrelationales Mapper und JDO.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
O/R - Mapper Hibernate ETIS SS04. Hibernate 2 Gliederung Motivation Architektur Persistente Klassen Mapping-Files Konfiguration und Datenbanken Ablauf.
Enterprise-IT-Praktikum JAX-RS-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Enterprise-IT-Praktikum Einheitliche GUIs Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Dennis Boldt David Gregorczyk
© 2012 TravelTainment Datenbankzugriffe in Java-Applikationen mit Hilfe des Spring Frameworks Simon Wirtz Seminarvortrag WS 13/14 Oktober 2013.
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
Tutorium Software-Engineering SS14 Florian Manghofer.
S INGLETON P ATTERN IN M ATLAB By Giuseppe
C++ FÜR cOMPUTERSPIELENTWICKLER
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Tutorstunde 10.
Objektorientierte Programmierung
Grundkurs Informatik 11-13
 Präsentation transkript:

Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung2 Hibernate… Objekt/Relationale Persistenz und Abfrage Abbildung zwischen –Java Klassen Datenbanktabellen –Java Datentypen SQL Datentypen

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung3 Was bedeutet das? Gängige Datenbanken verwenden als Modell Entitäten und Relationen Java verwendet als Modell Objekte O/R Mapper bringt beide Welten zusammen Stellt fertige Mechanismen bereit zur Abbildung von der Objekt-Welt in die ER-Welt

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung4 Mappings konstruieren Zwei Möglichkeiten, Java Klassen zu DB-Entitäten zu mappen: 1.XML-basiert (Dateien der Form *.hbm.xml) 2.Annotations-basiert

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung5 Mappings konstruieren über XML Erster Schritt: Klasse definieren Zweiter Schritt: XML-Datei anlegen und Relationen eintragen Hibernate-XML-Datei: <hibernate-mapping package= " de.uniluebeck.itm.eit.model " > Java-Klasse: class Book { private Integer id; public getId()... public setId(Integer id)... }

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung6 Mappings konstruieren über Java-Annotationen Erster Schritt: Klasse definieren Zweiter Schritt: Annotationen = "books") class Book implements private Integer id; public getId()... public setId(Integer id)... } Java-Klasse: class Book { private Integer id; public getId()... public setId(Integer id)... }

Institut für Telematik | Enterprise-IT-Praktikum Enterprise-IT-Praktikum – Hibernate-Einführung7 Datenmodell Einfache Java-Klassen (POJOs) Zugriff nach Bean-Konventionen (Getter/Setter) oder direkter Attributzugriff Methoden und Attribute mit private & protected möglich Instanziierung im Applikationskern mit new Implementierung des (parameterlosen) Default- Konstruktors erforderlich Hibernate unterstützt auch Collections

Institut für Telematik | Enterprise-IT-Praktikum Ladestrategien Lazy Referenzierte Entitäten werden nur nach Bedarf geladen Eager Referenzierte Entitäten werden beim ersten Zugriff geladen Ladestrategien lassen sich auf Klassen-, Relationen, oder Query-Ebene anwenden Ermöglicht Einstellungen zur Performance-Optimierung Mit Vorsicht und nur sehr bewusst einzusetzen, da durch einen Eager-Zugriff im worst-case die gesamte Datenbank ausgelesen werden könnte!

Institut für Telematik | Enterprise-IT-Praktikum Lebenszyklus einer Entität: die Hibernate Session Session stellt die Objekt-Identität sicher –Verwendet PK, so liefert load() zur selben ID immer dieselbe Instanz –Generierten technischen Schlüssel aber nicht für Implementierung von equals() bzw. hashCode() verwenden! (erst mit flush() werden generierte IDs zugewiesen) Session hat Methoden zur Transaktionssteuerung Session hat Factory-Methoden für Queries, z.B. createQuery, getNamedQuery

Institut für Telematik | Enterprise-IT-Praktikum Lebenszyklus einer Entität: die Hibernate Session

Institut für Telematik | Enterprise-IT-Praktikum Hibernate-Beispiel: Transaktionssteuerung Zunächst SessionFactory-Objekt generieren Verschiedene Wege, dies zu erreichen… Über die Session-Factory können Sessions generiert und damit wiederum Transaktionen und Persistenzzugriffe gesteuert werden: Session s = HibernateUtil.getSessionFactory().getCurrentSession(); try{ s.beginTransaction(); s.save(new Book()); s.getTransaction().commit(); } catch (Exception e){ s.getTransaction().rollback(); }

Institut für Telematik | Enterprise-IT-Praktikum Hibernate Startpunkte US/html_single/ US/html_single/ US/html_single/ US/html_single/ e/en/html_single/ e/en/html_single/