Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.

Slides:



Advertisements
Ähnliche Präsentationen
Simon Martinelli – JSR 303 Bean validation Simon Martinelli –
Advertisements

Objektrelationales Mapping mit JPA
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
C Sharp (C#) Martin Saternus Senior Student Partner
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Anwendungen des OODM auf die ADB / NDB
Kurt Rosenberg. C# für.NET oder.NET für C# is(C# == C++ && Java)? true : false ; reines C# Ausblick Überblick.
Kritische Betrachtung
Klassen in Java.
Zusammenfassung des Kapitels 8
Intelligente Dateisysteme Einführende Bemerkungen Manfred Thaller, Universität zu Köln Köln 17. Oktober 2013.
Verteilte Software - Java - Prozedurale Programmierung 1
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Advanced Mapping Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Zusammenfassung / Ausblick Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Objektrelationales Mapping mit JPA Ausblick Jonas Bandi Simon Martinelli.
Java: Grundlagen der Objektorientierung
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 9 IO – Streams in Java Sommersemester 2003 Lars Bernard.
Dynamische Webseiten Java servlets.
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Objektorientierte Programmierung JDK-Klassenbibliothek
Einführung in die OOP in Java
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
JDBC EDV JDBC.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
2.2 Definition eines Datenbankschemas (SQL-DDL)
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Working With Persistent Objects
OOD – Object Oriented Design II
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Objektrelationales Mapping mit JPA 2.0
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Softwareentwicklung mit Oracle Lite & Delphi
Bean Validation JSR-303 Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Advanced Topics Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Architecture Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Advanced Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Equals, Hashcode und CompareTo Micha Kessler
2002 XML 10.1XML I (Parsing) 17.1XML II (XLST,XPATH) (keinPraktikum) 24.1XML III FOP 31.1Cocoon2, XSP 7.2Struts, Turbine, Velocity 14.2Testat / Evaluation.
Common Language Runtime Seminar Softwareentwicklung Wintersemester 2003 Gertraud Orthofer
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
Hibernate (OR-Mapping)
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
Vordefinierte Datentypen (1)
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe
Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Java Programme nur ein bisschen objektorientiert.
Dr. Wolfram Amme, Generisches Programmieren, Informatik II, FSU Jena, SS Generisches Programmieren.
Die Klasse Vielfrass in Java
 Präsentation transkript:

Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation

Access Typ Für das Persistenz-Framework existieren zwei Zugriffspunkte auf die Daten einer Klasse 2 // Field public class Employee private int id; } //Property public class Employee { protected int public int getId() { return id; } }

Access Typ Options (JPA 2.0) Verschiedene Access Types pro Klasse möglich Mischen von Acces Types in einer public class Vehicle double protected double getDbFuelEfficiency() { return convertToImperial(fuelEfficiency); }... }

Mapping Es wird immer vom Defaultverhalten ausgegangen Das Defaultverhalten kann übersteuert = "EMP") public class = "EMP_ID")... }

Persistente Datentypen Erlaubt: Alle primitiven Typen, String Alle Wrapperklassen und serialisierbaren Typen (z.B. Integer, BigDecimal, Date, Calendar) byte[], Byte[], char[], Character[] Enumerations Beliebige weitere Entity-Klassen Collections von Entities, welche als Collection<>, List<>, Set<> oder Map<> deklariert sind. Nicht erlaubt: Alle Arten von Arrays ausser die obgenannten Collections von etwas anderem als Entities, also z.B. Wrapperklassen und andere serialiserbare Typen. 5

Java / SQL Type Mapping Implizit durch JDBC Data Type Conversion Table definiert Explizit durch Annotation, z.B. Produktspezifisch durch JPA-Implementation oder im JDBC-Driver für die jeweilige Datenbank = "sender") protected String sender;

Lazy Fetching und Large Objects Lazy Field Loading Large Objects = FetchType.LAZY) private String = private byte[] picture;

Enumerations Enumerations können persistent sein. In der Datenbank wird entweder der Ordinalwert (Position) oder der Stringwert (Name der Konstante) abgelegt. Vorsicht bei Änderungen an der Enumeration 8 // Variante protected MessageStatus status; // Variante protected MessageStatus status;

Temporale Typen Erlaubte Zeittypen: java.sql.Date, java.sql.Time, java.sql.Timestamp java.util.Date, java.util.Calendar java.sql Typen brauchen keine weitere Definition Bei java.util Typen muss der JDBC Typ angegeben werden: Mögliche Typen: TemporalType.DATE, TemporalType.TIME, TemporalType.TIMESTAMP private Calendar dob;

Transiente Attribute Attribute können von der Persistierung ausgeschlossen werden Entweder mittels transient: oder wenn das Attribut serialisiert werden soll mittels Annotation: 10 transient private String private String translatedName;

Entity Identity - Primärschlüssel Jede Entity-Klasse muss einen bezeichneten Primärschlüssel besitzen. Eine Id kann von folgenden Typen sein: Primitive Java Typen: byte, int, short, long, char Wrapper Klassen: Byte, Integer, Short, Long, Character Array von primitiven Typen oder Wrapper Klassen java.lang.String java.math.BigInteger Zeittypen: java.util.Date, java.sql.Date Floating Point Typen sind ebenfalls erlaubt, aber sind aufgrund der möglichen Rundungsfehler nicht zu empfehlen 11

Primärschlüssel Generierung Primärschlüssel können in Zusammenarbeit mit der Datenbank generiert werden. Beispiel: Stragegien sind Identity, Table, Sequence und Auto public class = GenerationType.IDENTITY) public Integer id; }

GenerationType.TABLE 13 public class Employee = "Emp_Gen", table = "ID_GEN", pkColumnName = "GEN_NAME", valueColumnName = GenerationType.TABLE, generator = "Emp_Gen") private int id;... }