Java-Persistenz-Architekturen. Freiberuflicher Entwickler und Autor. DOAG Konferenz 1.12.
|
|
- Karola Beltz
- vor 5 Jahren
- Abrufe
Transkript
1 Java-Persistenz-Architekturen Rudolf Jansen Freiberuflicher Entwickler und Autor DOAG Konferenz
2 Inhalt JDBC JPA (Java Persistence API) Spring Alternative Architekturen( Java in der DB, Java Embedded Databases ) Vergleich, Diskussion
3 JDBC-Historie Java DataBase Connectivity Zugriff auf DB über Java-API-Funktionen ResultSet resset = stmt.executequery("select prs_vorname, prs_nachname from person"); Abbildung auf konkrete Datenbank durch JDBC- Treiber Portabilität (theoretisch) Historie: - JDBC 1.0 (1997, JDK 1.1) - JDBC 2.0 (JDK 1.2) - JDBC 3.0 (2002, JDK 1.4) - JDBC 4.0 (2006, Java SE 6)
4 JDBC: Pro und Contra Manuelle JDBC-Programmierung: Wer macht das denn heute noch? Vorteil : Programmieren ganz nah an der Datenbank Nachteil : SQL-Statements direkt im Sourcecode - Wartbarkeit - Portabilität - viel Handarbeit nötig (Fehleranfällig) -
5 JDBC: Pro und Contra Vielzahl von höherwertigen Techniken und Tools, die auf JDBC aufbauen: - Java Persistence API (JPA) - Spring - Hibernate - JDO - EJB -
6 JDBC-ExceptionHandling Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select ); ResultSet resset = stmt.executequery();... stmt.close(); con.close(); } catch (SQLException ex) { }
7 JDBC-ExceptionHandling Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select ); ResultSet resset = stmt.executequery();... Was passiert, wenn hier ein stmt.close(); Fehler auftritt? con.close(); } catch (SQLException ex) { }
8 JDBC-ExceptionHandling Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select ); ResultSet resset = stmt.executequery();... Was passiert, wenn hier ein stmt.close(); Fehler auftritt? con.close(); Ressourcen werden nicht } catch (SQLException ex) { freigegeben!!! }
9 JDBC-ExceptionHandling Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select ); ResultSet resset = stmt.executequery();... stmt.close(); con.close(); } catch (SQLException ex) { } finally { if ( stmt!= null ){ try { stmt.close(); } catch (SQLException ex) { } } // analog con.close() }
10 JDBC - Diskussion Weit verbreitet (Studium, Bücher, Schulungen, ) ABER: viel Handarbeit nötig - Wartungsaufwand - Sourcecode-Umfang und Übersichtlichkeit Kritiker: JDBC nur für Kleinprojekte - Suche nach Alternativen (nicht nur für Enterprise-Anwendungen)
11 Java EE / EJB-Persistenz EJB (Enterprise Java Beans) Einführung Beginn des Siegeszuges Java auf dem Server - Auszug aus der EJB 1.0 Spezifikation: Enterprise JavaBeans will make it easy to write applications. Application developers will not have to understand low-level transaction and state management details; multi-threading; resource pooling; and other complex low-level APIs
12 Java EE / EJB-Persistenz Praxis-Erfahrungen mit EJB 1.0 und 2.0 Nimmt dem Entwickler viel Arbeit ab bei - Transaktionssteuerung - Skalierbarkeit - Sicherheit Macht dem Entwickler aber viel Arbeit bei - Persistenzfragen o Performance o Keine Vererbung möglich o Komplexität o Nur in EJB-Anwendungen einsetzbar (kein Java SE) Als reine Persistenzlösung sind EJBs (<Version 3.0) unnötig komplex
13 Java-Persistenz Stand in den Jahren 2004/2005 Java SE Java EE JDBC Hibernate EJB 2.x Eigene Frameworks JDO
14 Java-Persistenz Stand in den Jahren 2004/2005 Java SE Java EE JDBC Hibernate EJB 2.x Eigene Frameworks JDO Konkurrenzkampf
15 Java-Persistenz ab dem Jahr 2006 Java SE Java EE JDBC Hibernate EJB 3.0 Eigene Frameworks Java Persistence API (JPA) JDO
16 Java Persistence API Entstanden im Rahmen der EJB 3.0- Spezifikation Eigene Spezifikation (JSR 220) Ideengeber : - JDO - Hibernate - TopLink - Schlechte Erfahrungen mit EJB JPA = Spezifikation - Implementierung u.a. durch Hibernate Persistenzlösung für Java EE und Java SE!!! Einsatz von Java 5-Features (Annotations)
17 Java Persistence API Ziel: Keine (bzw. minimale) Vorgaben für Persistenzaspekte - Verwendung von POJOs (Plain Old Java Objects) Vererbung Einsatz von Java 5-Features (Annotations) Keine Abhängigkeit von Containern, Application Servern etc. Keep it simple
18 Java Persistence API Zentrale Komponente von JPA: Entity Normale Java-Klasse - Vererbung möglich - Keine Vorgaben durch Basisklassen - Keine Vorgaben durch Schnittstellen POJO
19 Java Persistence public class Buch implements private int id; private String titel; public Buch(){} public int getid() { return id;} public void setid( int id ){ this.id=id } public String gettitel() { return titel;} public void settitel( String titel ){ this.titel = titel;} }
20 Java Persistence API Buch - Id - titel JPA EntityManager Tabelle BUCH ID Titel 4711 xyz 4712 blabla
21 Java Persistence API Buch - Id - titel JPA EntityManager Bietet Methoden zum - Anlegen - Ändern - Löschen - Verwalten von POJOs (Instanzen von Buch) Tabelle BUCH ID Titel 4711 xyz 4712 blabla
22 Java Persistence API Configuration by Exception Anzahl der zur Konfiguration benötigten Annotations soll minimiert werden Sinnvolle Defaults Nur Ausnahmen explizit angeben Beispiel: Defaultregeln für Mapping Java-Klasse Datenbanktabelle: - Klassenname = Tabellenname - Attributname = Spaltenname Abweichungen von diesen Regeln müssen per Annotation angegeben werden
23 Java Persistence API Buch - Id - titel JPA EntityManager Tabelle BIBLIOTHEK ID Name 4711 xyz 4712 blabla
24 Java BIBLIOTHEK ) public class Buch implements private int NAME ) private String titel; public Buch(){} public int getid() { return id;} public void setid( int id ){ this.id=id } public String gettitel() { return titel;} public void settitel( String titel ){ this.titel = titel;} }
25 JPA - EntityManager Konfiguration/Initialisierung des EntityManager: EntityManagerFactory emf=persistence.createentitymanagerfactory( OracleTestDB"); EntityManager em=emf.getentitymanager(); EntityTransaction tx=em.gettransaction(); tx.begin(); Buch neuesbuch = new Buch(); neuesbuch.setid(4713); neuesbuch.settitel( Ein ganz neues Buch ); em.persist(neuesbuch); tx.commit(); em.close();
26 JPA - EntityManager Konfiguration/Initialisierung des EntityManager: EntityManagerFactory emf=persistence.createentitymanagerfactory( OracleTestDB"); EntityManager em=emf.getentitymanager(); EntityTransaction tx=em.gettransaction(); tx.begin(); Buch neuesbuch = new Buch(); neuesbuch.setid(4713); neuesbuch.settitel( Ein ganz neues Buch ); em.persist(neuesbuch); Woher kennt JPA die OracleTestDB? tx.commit(); em.close();
27 JPA - Konfiguration Datei persistence.xml: <persistence> <persistence-unit name= OracleTestDB"> <provider>oracle.toplink.essentials.ejb.cmp3.entitymanagerfactoryprovider</provider> <class>de.javastarterdays.buch</class> <properties> <!-- Provider-specific connection properties --> <property name="toplink.jdbc.driver" value="oracle.jdbc.driver.oracledriver"/> <property name="toplink.jdbc.url" value="jdbc:oracle:thin:scott/tiger@localhost:1521:xe"/> </properties> </persistence-unit> </persistence>
28 JPA Einträge finden und ändern EntityTransaction tx=em.gettransaction(); tx.begin(); Buch altesbuch = em.find(buch.class, 4711); if( altesbuch!= null ){ altesbuch.settitel( Ein geaenderter Titel ); } tx.commit();
29 JPA Abfragen Abfragen mit mehr als einem Ergebnis Query query = em.createquery( SELECT b FROM Buch b ) Collection buecher = query.getresultlist(); Abfragen mit genau einem Ergebnis Query query = em.createquery( SELECT b FROM Buch b WHERE b.id=:nr ); query.setparameter( nr, 4711); Buch dasgesuchtebuch = query.getsingleresult();
30 JPA Provider Übersicht über die bekanntesten Provider: Top Link OpenJPA Hibernate
31 Spring Ausgangspunkt EJB: Häufig genannte Kritik an EJB: - Komplexität - Zu viele Vorgaben, d.h. Klassen/Schnittstellen, die verpflichtend sind - Abhängigkeit von J2EE Container - Tests aufwändig - Performance bei Persistenzfragen kritisch - Abgrenzung J2EE J2SE Suche nach Alternativen
32 Spring - Historie Buch Expert One-on-One J2EE Design and Development Rod Johnson (2002) Begleitmaterial: Sourcecode für Applikationsframework Überführung in Open-Source-Projekt (2003) Name: Spring Heute: Populäres Open-Source-Framework Freie Nutzung Firma hinter Spring : SpringSource
33 Spring - Spring ist ein Framework Kein Produkt Keine Spezifikation Kein O/R-Mapping-Tool Bietet nicht nur Lösungen für Persistenz-Schicht, sondern viel mehr - Spring bietet Services an, um das Zusammenspiel von (Java-)Komponenten zu vereinfachen Einheitliche API-Schicht Abhängigkeiten zwischen Komponenten verwalten Aspekt-Orientierte Programmierung - Session Das SpringSource Advanced Pack for Oracle 13:00 Uhr
34 Spring und Persistenz Spring liefert keine eigene Persistenzlösung Stattdessen: Vereinfachung bei der Nutzung bestehender Persistenztechniken durch zusätzliche Abstraktionsschicht Spring kann zusammen mit allen bekannten Persistenztechniken eingesetzt werden: - JDBC - JDO - JPA - Hibernate -
35 Spring und Persistenz Spring vereinheitlicht Transaktionssteuerung, Exceptions, Verbindungshandling Hybride Ansätze möglich Entwickler implementiert nur die Businesslogik (Persistenz: Abfragen und Behandlung der Ergebnisse) Spring kümmert sich um den Rest Beispiel: JDBC Verbindungs- und Exceptionhandling
36 JDBC Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select * from emp ); ResultSet resset = stmt.executequery();... stmt.close(); con.close(); } catch (SQLException ex) { } finally { if ( stmt!= null ){ try { stmt.close(); } catch (SQLException ex) { } } // analog con.close() }
37 JDBC Connection con = null; Statement stmt = null; try{ con = getdatasource().getconnection(); stmt = con.preparestatement( select * from emp ); ResultSet resset = stmt.executequery();... stmt.close(); con.close(); } catch (SQLException ex) { } finally { if ( stmt!= null ){ try { stmt.close(); } catch (SQLException ex) { } } // analog con.close() } Anwendungscode ist nur das! Rest ist - Verbindungshandling - Exception Handling und wird bei jedem JDBC-Zugriff benötigt ca. 80% des JDBC-Sourcecodes wiederholt sich
38 Spring Dasselbe mit Spring: public List getemplist() { return getjdbctemplate().queryforlist( select * from usertable ); } JdbcTemplate kümmert sich um den Rest DB-Zugriffsparameter in externer Konfigurationsdatei Eigene Spring-Exception-Hierarchie Exceptions unabhängig von verwendeter Technologie (JDBC- Exceptions ansonsten unterschiedlich zu Hibernate-EXceptions)
39 Inhalt JDBC JPA (Java Persistence API) Spring Alternative Architekturen (Java in der DB, Java Embedded DB ) Vergleich, Diskussion
40 Alternative Architekturen Bisher immer Standard-Architektur : Direktzugriff, z.b. JDBC Java-Anwendung Alternativen: Java in der Datenbank EJB, OR-Mapper, Datenbank in der Java-Anwendung Datenbank
41 Java in der Datenbank Java-Source-Code (*.java) Java-Class-Dateien (*.class) JAR-Archive (*.jar) loadjava Oracle-DB Java- Compiler Java- Sourcen Java- Klassen Java- Ressourcen
42 Alternative Architekturen Bisher immer Standard-Architektur : Direktzugriff, z.b. JDBC Java-Anwendung Alternativen: Java in der Datenbank EJB, OR-Mapper, Datenbank in der Java-Anwendung Datenbank
43 Java Embedded Datenbanken Einsatzgebiete: - Speicherung von Konfigurationsdaten - Ablage temporärer Nutzerdaten -... (andere Mini-Persistenz-Anforderungen ) Standardalternativen: - Speicherung in Betriebssystem-Datei - Speicherung in richtiger Datenbank
44 Java Embedded Datenbanken Standardalternativen: Speicherung in Betriebssystem-Datei: + Schnell implementiert - Sicherheit, Transaktionen, Backup, Speicherung in richtiger Datenbank: + Sicherheit, Transaktionen, Backup, - Kosten, Administration beim Endbenutzer erforderlich, Kompromisslösung: Embedded Datenbank
45 Java Embedded Datenbanken Java-Anwendung JDBC Java- Embedded- Datenbank JVM
46 Inhalt JDBC JPA (Java Persistence API) Spring Alternative Architekturen (Java in der DB, Java Embedded DB ) Vergleich, Diskussion
47 Auswahl der richtigen Persistenzstrategie Entscheidungskriterien Art der Java-Anwendung (J2SE, J2EE, J2ME) Meist: Persistenz nicht einzige Fragestellung Größe des Projektes Erfahrung mit Frameworks (Unterstützung der eingesetzten Datenbank) In bestehenden Projekten meist keine Wahl mehr
48 Auswahl der richtigen Persistenzstrategie Einige Lösungsansätze: Kleine Projekte mit einfachen DB-Zugriffen JDBC Neue Enterprise-Anwendungen JPA Hibernate Spring als Empfehlung für umfassendes Framework (nicht nur für Persistenz) Eigenentwicklung von Frameworks eher meiden
Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrJava Persistence API. Phillip Ghadir Oliver Tigges
Phillip Ghadir phillip.ghadir@innoq.com Oliver Tigges oliver.tigges@gmx.de Was wissen Sie in 45 Minuten? Wie man mit JPA entwickelt. Dass wir viele Eigenschaften von JPA ausgelassen haben. Dass Sie nicht
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 6.
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.
MehrEclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrÜbung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs)
Übung B JPA Java Persistence API Prof. Dr. Andreas Schmietendorf 1 Überblick zu JPA Prof. Dr. Andreas Schmietendorf 2 Überblick zu JPA Java Persistence API Objektrelationales Mapping - Java SE - Java EE
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrInhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:
Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrChristian Kühl. Von JDO zu JPA Entwicklung einer Migrationsstrategie
Christian Kühl Von JDO zu JPA Entwicklung einer Migrationsstrategie Inhalt JDO und JPA Motivation Was muss migriert werden? Strategien Architektur Beispiel Migration am Beispiel Automatisierung Probleme
MehrPersistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
Mehr5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System
5.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Vorlesung 9 Sebastian Iwanowski FH Wedel Einführung in das objektrelationale Mapping: JDBC: Java Database Connectivity EJB: Enterprise Java Beans Motivation und Einführung
MehrDatenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier
JPA mit Hibernate Alexander Stautner, Harald Zauner, Sascha Schreier Agenda Objektrelationales Mapping JPA / Hibernate Demo # 2 Objektrelationales Mapping Objektorientierte Welt Objekte Objektidentität
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrProgrammierung von verteilten Systemen und Webanwendungen mit Java EE
Programmierung von verteilten Systemen und Webanwendungen mit Java EE Frank Müller-Hofmann Martin Hiller Gerhard Wanner Programmierung von verteilten Systemen und Webanwendungen mit Java EE Erste Schritte
MehrDaten Bank. 6. Vorlesung
Daten Bank 6. Vorlesung Prinzipien des digitalen Speicherns I Ein Datensatz sollte offensichtlich/eindeutig und schnell mit dem Objekt, welches es repräsentiert, in Verbindung gebracht werden können. ISBN
MehrJBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009
JBoss Seam Ein JEE 5 Webframework Jörg Wüthrich Infopoint, 4. Februar 2009 Inhalt Einführung Warum Seam? Zentrale Konzepte Demo Validierung Abschliessende Gedanken 04.02.2009 Infopoint - JBoss Seam - Jörg
MehrPersistenz. Ralf Gitzel
Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte
MehrEJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND
Endlich ein POJO EJB 3.0 alles wird einfacher Referent:, eurolink SWITZERLAND Java EE 5 Über mich IT Consulting FH-Dozent Schwerpunkt J2EE / EJB Autor diverser Schulungsunterlagen Firmenschulungen Fachvorträge
MehrDB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren
DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen
MehrVesant JDO Genie für transparente Persistenz mit relationalen Datenbanken.
Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken. Martin Wessel Senior Pre-Sales Consultant Versant GmbH mailto: Martin.Wessel@versant.net Copyright Versant Europe 2004. All products
MehrJava Persistence API mit Hibernate
Seminarunterlage Version: 6.02 Version 6.02 vom 4. April 2018 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrKapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken
Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen
MehrMehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH
Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH Oracle JDBC Treiber Versionen Datenbank-Release J D B C 10.1.0 9.2.0 9.0.1
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
Mehr4.2 Workshop EJB. Entwicklung von EJB-Anwendungen
4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrHibernate Das Praxisbuch für Entwickler
Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo
MehrEntwicklung von Web-Anwendungen auf JAVA EE Basis
Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrJava und Datenbanksysteme Datenbankanbindung mit JDBC
Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung
MehrDatenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung
Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrOrientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Version: 2014 Orientation 1.0 in Objects GmbH Der Sprecher Erik Bamberg (OIO) 2 1 s Aufgaben des Cachings Datenbank
MehrRapid Java wie mit Forms
DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr
MehrEnterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrRene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate
1 von 43 Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 27.11.11 Agenda Einleitung Ist-Zustand Bookstore Was ist Hibernate? Wie funktioniert Hibernate? Was ist Spring? Architektur
MehrJava Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de
NoSQL für Java-Entwickler Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de 23.06.2013 Agenda Datengröße Key-value Stores 1. Wide Column 2. Cassandra Document
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrApplication Development Framework (ADF) Teil 3: Standardisierte Persistenzmechanismen in Verbindung mit ADF
Application Development Framework (ADF) Teil 3: Standardisierte Persistenzmechanismen in Verbindung mit ADF Autor(en): Michael Bräuer, Kersten Mebus ORACLE Deutschland GmbH Das von Oracle zur Verfügung
MehrEnterprise JavaBeans Überblick: 10. Queries Interface Query 10.2 EJB Query Language 10.3 Named Queries
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrRelationales Datenbankpraktikum
Relationales Datenbankpraktikum Dr. A. Groß, M.Junghanns, V. Christen, Z. Sehili Aufgabe 3 Agenda Überblick zur Aufgabenstellung Hibernate Verwendung des Hibernate- Mapping und HQL innerhalb einer Konsolenapplikation
MehrMigration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen Christian Böhmer, isys Software GmbH Björn Grimm, Hochschule München 1 Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
MehrDaten Bank. 6. Vorlesung
Daten Bank 6. Vorlesung Repetitorium: Wer: Tung Le Trong Wann: 24.7.2018 (Dienstag) Genauer wann : von 10-18 Uhr Wo: H IV Dr. Karsten Tolle PRG2 SS 2018 2 Geonames select count(*) from geoname; 180554
MehrEJB 3 - Ein Blick über den Tellerrand. Heiko W. Rupp <hwr@pilhuhn.de>
EJB 3 Ein Blick über den Tellerrand Heiko W. Rupp Agenda Abriss des Standards Blick auf vorhandene Implementierungen Erfahrungen aus der Praxis Verlosung der 2 Bücher Agenda Abriss des
MehrDatenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung
Rückblick Datenbankschnittstellen erlauben Zugriff auf Datenbank aus einer externen Anwendung Portabilität als wichtige Anforderung, d.h. RDBMS oder Programmiersprache soll leicht austauschbar sein Call-Level
MehrMit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart
Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrADF Persistenzmechanismen
ADF Persistenzmechanismen ADF BC und EJB/JPA im Vergleich Hendrik Gossens Nürnberg, 19.11.2013 MT AG GESCHÄFTSFORM HAUPTSITZ INHABERGEFÜHRTE AG RATINGEN GRÜNDUNGSJAHR 1994 BESCHÄFTIGTE BETEILIGUNGEN 180
MehrJava-Persistence-API mit Hibernate
Bernd Müller, Harald Wehr Java-Persistence-API mit Hibernate Standardisierte Persistenz f Г- Щ.4 1 fl/j J ; Щ Ш Ш ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrJava: MySQL-Anbindung mit JDBC.
Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrHibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate
Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur
MehrProgrammieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Objekt-relationales Mapping 2 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Objekt-relationales
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
Mehr5. Übung zu Software Engineering
5. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Desktop-Anwendung AUFGABE 13 1 Schichtenarchitektur Strukturierung komplexer Anwendungen Anforderungen: Flexibilität, Robustheit, Wartbarkeit,
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrIntegration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire
Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.
MehrJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini
MehrJ2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg
J2EE-Praktikum Enterprise JavaBeans Patterns Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 Designmuster Sitzungsfassade Wertobjekte 2 Implementierungsmuster Geschäftsinterfaces
MehrBean-Mapping mit MapStruct
Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrConnection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.
Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung
MehrProgrammieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 39
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 39 Objekt-relationales Mapping 2 / 39 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden.
MehrJDO Java Data Objects
JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrJava-Objekte mit SQL verheiraten
ITMAGAZINE Java-Objekte mit SQL verheiraten 24. November 2006 - ibatis ermöglicht die Abstraktion von SQL-Datenbanken, ohne dass man auf von Hand geschriebene SQL-Abfragen verzichten muss. Entwickelt man
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur
MehrEnterprise JavaBeans (mit JBoss)
Enterprise JavaBeans (mit JBoss) Christian Hülsmeier 30.10.2004 Überblick Rekapitulation des vorhandenen Wissen Entity-Beans Session-Beans Deployment-Deskriptor Sichten / Client-Anwendungen Applikationsserver
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrExercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC
Prof. Dr. Stefan Böttcher Exercises for the course Databases and Information Systems I WS 2006/2007 Special exercise JDBC 1. Preliminary configurations 1.1. Register ODBC database Chose Arbeitsplatz Systemsteuerung
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
Mehr3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)
3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrHibernate Search. Unterstützung laufender Java Projekte. Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing
Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige
MehrProbleme bei der Nutzung der Bean Validation in JPA
Probleme bei der Nutzung der Bean Validation in JPA Die aktuelle Netbeans-Installation 6.9.1 bietet als JPA-Realisierung EclipseLink in der Version 2.0.2, die in der Zusammenarbeit mit der Referenzimplementierung
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
Mehr