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

Slides:



Advertisements
Ähnliche Präsentationen
OmsCube Objektverwaltung, basierend auf einem relationalen Datenbankmanagementsystem.
Advertisements

Object Relational Mapping
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Simon Martinelli – JSR 303 Bean validation Simon Martinelli –
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Datenintegrität Integitätsbedingungen Schlüssel
ER-Datenmodell und Abfragen in SQL
Konzepte objektorientierter Systeme
PL/SQL - Kurze Einführung -.
Anwendungen des OODM auf die ADB / NDB
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Klassen in Java.
Zusammenfassung des Kapitels 8
Folienadaption HS, 4/00. Relationen sind Tabellen! Relationales Modell = Tabellarische Repräsentation der Daten + assoziative Anfragesprache Datenbank.
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.
SQL als Abfragesprache
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.
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Transaction Script Software Component Technology for Distributed Applications.
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
Modulare Programmierung
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
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
Wir bauen uns eine Webapplikation!
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.
Java Performance Tuning Performance Tuning is similar to playing a strategy game but happily you usually get paid for it.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 37 Version 1.0a Datenmodellierung Modell –Abbild eines Wirklichkeitsausschnittes –Abstraktion – Reduktion auf.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 14: Mehrfachvererbung.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
ORMapper: NHibernate Henning Eiben
Advanced Topics Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Equals, Hashcode und CompareTo Micha Kessler
Datenbanksysteme für hörer anderer Fachrichtungen
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
Relationales Datenmodell und DDL
Folienadaption HS, 4/99.
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
Hibernate (OR-Mapping)
Learning By Doing Konstruktoren Gleicher Name wie die Klasse Zur Initialisierung des Objekts, insbesondere mit Parametern Wir immer bei der Objekterzeugung.
Einführung in SQL Universeller Zugriff auf Daten in Datenbanksystemen unterschiedlicher Systemhersteller!
1 Stammdaten-Export/Import Eindeutigkeitsproblem Beschreibung und vorgeschlagene Lösung
Structured Query Language
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Objektorientierte Datenbanken zBeim vorigen Mal: yTransaktionen, Sperren yODMG-OQL zHeute: yODMG-OQL und FastObjects-OQL yIntegritätsbedingungen und Schema-Evolution.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
SQL Join.
Sichten.
 Präsentation transkript:

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

Embedded Objects 2 Komposition: Mutterobjekt mit eingebetteten Objekten Eingebettete Objekte haben keine eigene Identität Mutterobjekt und eingebettete sind in derselben Tabelle abgelegt

Embedded Objects, Beispiel public class Address { private String street; private String city; private String state; private String zip; public class Employee private int id; private String name; private long private Address address; }

Enhanced Embeddables (JPA 2.0) Verschachtelung von Embeddables und Embeddables mit Beziehungen public class Assembly ShippingDetail Supplier supplier;... }

Zusammengesetzte Primärschlüssel 5 public class EmployeeId implements Serializable { protected String country; protected int id; } // Variante EmployeeId.class public class Employee protected String protected int id; } // Variante public class Employee public EmployeeId id; }

Composite Primary Key With Relationships (JPA public class Part Supplier supplier; } public class PartPK { int partNo; int supplier; }

Read-Only Mappings und Optional = false, updateable = false) = true) // Default 7

Mehrere Tabellen pro Entity Gelegentlich wird eine Entity in der Datenbank in mehrere Tabellen modelliert oder muss umgekehrt aus mehreren Tabellen zusammengesetzt werden. Eine Entity kann beliebig viele Sekundärtabellen name = "Employee" name = "EmployeeExt", pkJoinColumns = referencedColumnName = "id")}) public class Employee {... }

Mapping von SQL-Views Komplexe Abfragen werden in einer Datenbank gerne als (materialisierte) View vorgehalten. Um Performance-Vorteile zu nutzen, kann eine View wie eine Entity angesprochen werden. Beispiel: public class protected long insertable=false, updatable=false) protected int numPhones; //... CREATE VIEW employeestats ( id, numPhones ) AS SELECT e.id, COUNT(p.*) FROM employee e LEFT OUTER JOIN PHONES P on (…) group by e.id

Vererbung Vererbungshierarchien können problemlos verwendet und abgebildet werden. Klassen können abstrakt oder konkret sein. Alle Klassen in der Vererbungshierarchie müssen den Primärschlüssel der Basisklasse verwenden (erben). Es gibt vier Mappingstrategien auf die Datenbank: Eine einzige Tabelle für die gesamte Verbungshierarchie Eine Tabelle für jede konkrete Klasse Eine Tabelle für jede Klasse Mapped Superclass 10

public class public class DesignProject extends public class QualityProject extends Project

public class public class DesignProject extends public class QualityProject extends Project

TABLE_PER_CLASS public class public class DesignProject extends public class QualityProject extends Project

MAPPED_SUPERCLASS 14 // Klasse public abstract class protected Integer id; protected Integer version; protected Timestamp createdAt; protected String createdFrom; protected Timestamp updatedAt; protected String updatedFrom; // Klasse public class Phone extends BaseEntity