Programmieren II. Objekt-relationales Mapping. Hibernate. Hibernate. Dr. Klaus Höppner. Hochschule Darmstadt SS 2008

Größe: px
Ab Seite anzeigen:

Download "Programmieren II. Objekt-relationales Mapping. Hibernate. Hibernate. Dr. Klaus Höppner. Hochschule Darmstadt SS 2008"

Transkript

1 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS / 26 2 / 26 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile in einer Datenbanktabeller und die Attribute eines Datensatze den Tabellenspalten. Daher ist es prinzipiell möglich, eine Abbildung zwischen den Datensätzen in einer Tabelle und klassischen Java-Objekten (POJO plain old Java objects herzustellen. Eine solche Abbildung nennt man objekt-relationales Mapping (ORM). Es existieren verschiedene Frameworks, die ein objekt-relationales Mapping realisieren. Eines der bekanntesten und häufig benutzten ist. Was ist der Vorteil eines solchen Frameworks und ORM? Es verbindet die Vorteile der objektorientierten Programmierung mit den Vorteilen einer Datenbank, insbesondere der Persistenz (d. h. dass Datensätze in einem RDBMS nicht flüchtig sind). So kann man persistente Objekte realisieren, die sich weitgehend wie normale Java-Objekte verwenden lassen. 3 / 26 4 / 26

2 Geschichte Architektur wurde von der Firma JBoss entwickelt, die sich mit Open-Source-Software im Bereich Java-Middleware, -Applikationsservern und Message-Brokern beschäftigt. Mittlerweile wurde JBoss (nach einem Bieterkampf mit Oracle) von RedHat übernommen. stellt in der einfachsten Benutzungsform dem Anwender eine Datenbank-Session zur Verfügung, die über Konfiguration eines Datenbanktyps und der Datenbankparameter geöffnet wird. Objekte können sich in drei Zuständen befinden: transient Das Objekt ist noch nicht mit der Datenbank verknüpft, also flüchtig. persistent Das Objekt ist im aktuellen Kontext mit der Datenbank verknüpft. detached Das Objekt war mit der Datenbank verknüpft, der Kontext existiert aber nicht mehr. Daher ist das Objekt aktuell losgelöst. Schaubild 5 / 26 Konfiguration einer -Anwendung Die Konfiguration von (Datenbank, Logging etc.) erfolgt über die Klasse org.hibernate.cfg.configuration. Hierbei gibt es die Möglichkeit, zur Konfiguration die Datei hibernate.cfg.xml im Source-Verzeichnis zu verwenden und anschließend eine Implementierung von org.hibernate.sessionfactory zu erzeugen: Configuration cfg = new Configuration().configure(); SessionFactory sessionfactory = cfg.buildsessionfactory(); Alternativ können Konfigurationsparameter mit der Methode setproperty gesetzt werden: Configuration cfg = new Configuration(); cfg.setproperty("hibernate.connection.username","sa"); 6 / 26 7 / 26 8 / 26

3 Beispiel einer Konfigurationsdatei Grundlagen von ORM <?xml version= 1.0 encoding= utf-8?> <!DOCTYPE hibernate-configuration PUBLIC "-/// Configuration DTD 3.0//EN" " <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcdriver</property> <property name="connection.url">jdbc:hsqldb:file:data/fibu;shutdown=true</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.hsqldialect</property> <!-- Enable automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.nocacheprovider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> <mapping resource="fibu/customer.hbm.xml"/> </session-factory> </hibernate-configuration> Durch ORM werden Klassen mit Tabellen und Instanzen der Klassen mit Datensätzen innerhalb der Tabelle verknüpft. Damit Instanzen eindeutig Datensätzen zugeordnet werden können, muss die Datenbanktabelle einen eindeutigen Primärschlüssel besitzen. Dieser wird dann als WHERE-Ausdruck in den abgesetzten SQL-Anweisungen verwendet. Weiterhin dient die Existenz einer Primär-ID im Objekt der Unterscheidung, ob ein nicht persistentes Objekt transient oder detached ist. 9 / / 26 Faustregeln Beispiel: Datenbank Fibu Im Allgemeinen wird eine Tabelle der Datenbank einer Java-Klasse zugeordnet. Diese Klasse muss einen Standardkonstruktor besitzen. Die Attribute der Tabelle werden auf entsprechende Attribute der Klasse abgebildet. Zur Erinnerung das Datenbankschema der letzten Vorlesung: Invoice ID : INTEGER CUSTOMERID : INTEGER TOTAL : DECIMAL(10,2) Customer ID : INTEGER FIRSTNAME : VARCHAR(20) LASTNAME : VARCHAR(20) In der Klasse werden dann Getter und Setter für diese Attribute definiert. Die eigentliche Zuordnung zwischen Klasse und Tabelle erfolgt dann über eine XML-Datei, die insbesondere den Primärschlüssel angibt, der zur Identifikation von Elementen verwendet wird, sowie die Namen von Tabellenspalten den Attributen der Klasse zuordnet. Item ITEM : INTEGER INVOICEID : INTEGER PRODUCTID : INTEGER QUANTITY : INTEGER COST : DECIMAL(10,2) PRODUCT ID : INTEGER NAME : VARCHAR(20) PRICE : DECIMAL(10,2) 11 / / 26

4 Erster Ansatz: Klasse Invoice public class Invoice { private Long customerid; private Double total; public Invoice() { public Long getid() { return id; public void setid(long id) { this.id = id; public Long getcustomerid() { return customerid; public void setcustomerid(long customerid) { this.customerid = customerid; public Double gettotal() { return total; public void settotal(double total) { this.total = total; Mapping Das eigentliche Mapping erfolgt dann über die Datei Invoice.hbm.xml: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-/// Mapping DTD 3.0//EN" " <hibernate-mapping package="fibu"> <class name="invoice" table="invoice"> <property name="customerid"></property> <property name="total"></property> </hibernate-mapping> 13 / / 26 Analyse Zweiter Ansatz für Invoice Die gezeigte XML-Datei enthält folgende Definitionen: Das Mapping wird für Klassen innerhalb des Pakets fibu durchgeführt. Für jede abzubildende Klasse gibt es ein Element class, in diesem Fall für die Klasse Invoice, gleichzeitig wird erklärt, welcher Tabelle die Klasse zugeordnet ist. In diesem Fall wird für den Primärschlüssel das Attribut id der Java-Klasse mit dem gleichnamigen Attribut der Tabelle verknüpft. Weiterhin erfolgen die Abbildungen für customerid und total. In Wirklichkeit möchte man in der Klasse Invoice statt der reinen Kundennr. lieber direkt eine Referenz auf den Kunden haben: public class Invoice { private Customer customer; private Double total; public Invoice() { 15 / / 26

5 Mapping Mapping (Forts.) Dies ist ein Fall einer Zuordnung many-to-one: Mehrere Rechnungen können für denselben Kunden ausgestellt sein. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-/// Mapping DTD 3.0//EN" " <hibernate-mapping package="fibu"> <class name="invoice" table="invoice"> <property name="total"></property> <many-to-one name="customer"> <column name="customerid"></column> </many-to-one> <class name="customer" table="customer"> <property name="firstname"></property> <property name="lastname"></property> <property name="street"></property> <property name="city"></property> </hibernate-mapping> Die Zuordnung des Kunden zur Rechnung erfolgt dabei durch die Angabe der Spalte in der Tabelle Invoice, in der sich der Primärschlüssel des betreffenden Kunden befindet. Mapping der Rechnunspositionen Einer Rechnung sind in der Regel viele Rechnungsposten zugeordnet. Die Zuordnung erfolgt durch die Spalte invoiceid in der Tabelle Item. Hierfür wird in der Klasse Invoice nun eine Liste von Item neu hinzugefügt, die auf den Mapping-Typ list abgebildet wird. Hierbei wird in der Abbildung die Spalte invoiceid als key verwendet, anhand dessen die passenden Rechnungsposten ausgewählt werden. Zusätzlich wird direkt die Tabelle Product anhand der Produktnr. des Rechnunsposten in die Klasse Item abgebildet. 17 / 26 Klasse Invoice public class Invoice { private Customer customer; private List items = new ArrayList(); private Double total; public Invoice() { public List getitems() { return items; public void setitems(list items) { this.items = items; 18 / / / 26

6 Klasse Item Klasse Customer public class Item { private Product product; private Double cost; private Long quantity; public Item() { public class Customer { private String firstname; private String lastname; private String street; private String city; public Product getproduct() { return product; public Customer() { public void setproduct(product product) { this.product = public String tostring() { return String.format("%s %s; %s; %s", getfirstname(), getlastname(), getstreet(), getcity()); 21 / / 26 Klasse Product Mapping public class Product { private String name; private Double price; public Product() { public Long getid() { return id; public void setid(long id) { this.id = id; <hibernate-mapping package="fibu"> <class name="invoice" table="invoice"> <property name="total"></property> <many-to-one name="customer"> <column name="customerid"></column> </many-to-one> <list name="items" table="item"> <key column="invoiceid"></key> <list-index column="item"></list-index> <composite-element class="item"> <property name="quantity"></property> <property name="cost"></property> <many-to-one name="product" column="productid"/> </composite-element> </list> 23 / / 26

7 Mapping (Forts.) <class name="customer" table="customer"> <property name="firstname"></property> <property name="lastname"></property> <property name="street"></property> <property name="city"></property> <class name="product" table="product"> <id name="id"> <property name="name"></property> <property name="price"></property> </hibernate-mapping> Anwendung Session session = Util.getSessionFactory().getCurrentSession(); session.begintransaction(); Invoice i = (Invoice) session.get(invoice.class, 3L); System.out.println(i.getCustomer()); for (Object o : i.getitems()) { final Item it = (Item) o; System.out.println(it.getCost()); System.out.println(it.getProduct().getName()); Customer c = (Customer) session.get(customer.class, 6L); i.setcustomer(c); final Item it = (Item) i.getitems().get(0); it.setquantity(5l); session.gettransaction().commit(); 25 / / 26

Programmieren II. Objekt-relationales Mapping. Vorlesung 12. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009

Programmieren II. Objekt-relationales Mapping. Vorlesung 12. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 35 2 / 35 Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile

Mehr

Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren 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

Mehr

Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 39

Programmieren 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.

Mehr

Programmieren II. Objekt-relationales Mapping. Vorlesung 08. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Objekt-relationales Mapping. Vorlesung 08. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 39 2 / 39 Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile

Mehr

Quick Start HSQLDB/Hibernate.

Quick Start HSQLDB/Hibernate. Quick Start HSQLDB/Hibernate http://www.hsqldb.org/ http://hibernate.org/orm/ HyperSQL http://sourceforge.net/projects/hsqldb/files/latest/ download?source=files Zip-Datei hsqldb.jar in classpath legen

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor 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

Mehr

Hibernate. 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 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

Mehr

»Java-Persistenz mit Hibernate«Technology Days 2007 - Workshop

»Java-Persistenz mit Hibernate«Technology Days 2007 - Workshop »«Technology Days 2007 - Workshop doubleslash Net-Business GmbH Rainer Müller Fon 07541/6047-100 Müllerstr. 12 B D-88045 Friedrichshafen http://doubleslash.de Folie 1 »Inhalt«Once upon a time Was ist Hibernate?

Mehr

Persistenz 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) 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)

Mehr

Analyse 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 Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Kapitel 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) 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

Mehr

Eclipse und EclipseLink

Eclipse 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

Mehr

Relationales Datenbankpraktikum

Relationales 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

Mehr

Hibernate Eine Einführung

Hibernate Eine Einführung Hibernate - Eine Einführung OPITZ CONSULTING GmbH 2012 Seite 1 Wer bin ich? Norbert.Schneider@opitz-consulting.com @bertschneider OPITZ CONSULTING GmbH 2012 Seite 2 Wer sind Sie? OPITZ CONSULTING GmbH

Mehr

Enterprise JavaBeans Überblick

Enterprise 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.

Mehr

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung Einführung in Datenbanken - Objekt-Orientierte Datenbanken - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1 Probleme mit dem relationalen Modell Das Typsystem des relationalen Modells

Mehr

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate

Rene 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

Mehr

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching 1 Was ist Hibernate Hibernate ist ein Open-Source-Java-Persistenz-Framework für relationale Datenbanken Persistenz-Frameworks: kapseln und abstrahiert den Zugriff auf eine Speicherschicht -> Zwischenschicht

Mehr

ibatis SQL Maps Einführung

ibatis SQL Maps Einführung ibatis SQL Maps Einführung für SQL Maps Version 2.0 Oktober 27, 2007 Übersetzung Axel Leucht (Axel.Leucht@gmx.net) Einführung Dieses Handbuch gibt ihnen eine Einführung des typischen Einsatzes von SQL

Mehr

MO. 28. Aug. 2006, 17:00 UHR

MO. 28. Aug. 2006, 17:00 UHR 063 MO. 28. Aug. 2006, 17:00 UHR OBJECT-RELATIONAL MAPPING (O/RM) UND JAVA SILVER BULLET, BEST OF BREED ODER VERLEGENHEITSLÖSUNG? Hibernate E. MUND 2006 Motivation Konzept Persistenz Hibernate E. MUND

Mehr

Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen

Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen Rückblick Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen JDBC erlaubt Transaktionskontrolle, d.h. Festschreiben und Zurückrollen sowie setzten der Isolationsstufe

Mehr

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

OR-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

Mehr

Persistenz mit Hibernate

Persistenz mit Hibernate Persistenz mit Hibernate Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Orientierung in Objekten ) Akademie ) ) Beratung ) ) Projekte ) Schulungen, Coaching, Weiterbildungsberatung,

Mehr

Datenbanken und Informationssysteme II

Datenbanken und Informationssysteme II Fakultät für Informatik und Wirtschaftsinformatik SS 2012 Datenbanken und Informationssysteme II Szenario: Stundenplan. Es gibt Dozenten, Veranstaltungen (Typ: V(orlesung), U(ebung) und L(abor)), die jeweils

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

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

Mehr

Enterprise JavaBeans Überblick

Enterprise 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.

Mehr

ORM. Object Relational Mapping oder "The vietnam of computer science" (http://blogs.tedneward.com/2006/06/26/the+vietnam+of+computer+science.

ORM. Object Relational Mapping oder The vietnam of computer science (http://blogs.tedneward.com/2006/06/26/the+vietnam+of+computer+science. ORM Object Relational Mapping oder "The vietnam of computer science" (http://blogs.tedneward.com/2006/06/26/the+vietnam+of+computer+science.aspx) Das Problem public class Maschine extends ModelElement

Mehr

Persistenz. Ralf Gitzel

Persistenz. 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

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Das 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 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

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22 Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2009/2010 1 / 22 Design von Klassen 2 / 22 Strategie zum Entwurf von Klassen Objektorientierte Sichtweise: Mit welchen Objekten habe

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II Alexander Goesmann Bioinformatics Resource Facility Center for Biotechnology Universität Bielefeld Vorlesung Sommer 2010 Überblick Datenspeicherung in relationalen Datenbanken

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch

Mehr

Enterprise JavaBeans (mit JBoss)

Enterprise 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

Mehr

Datenbanksysteme 2 für WINF SS Übungsblatt 2 WEB-Anbindung

Datenbanksysteme 2 für WINF SS Übungsblatt 2 WEB-Anbindung Universität Leipzig Institut für Informatik Besprechung: 24.05.07 Abt. Datenbanken Dr. D. Sosna Datenbanksysteme 2 für WINF SS2007 - Übungsblatt 2 WEB-Anbindung 1. Aufgabe (Entwicklung eines E-Business

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

Mehr

Persistenz Muster. Muster rund um den Datenbank Zugrif

Persistenz Muster. Muster rund um den Datenbank Zugrif Persistenz Muster Muster rund um den Datenbank Zugrif Einleitung Persistenz Muster beschreiben verschiedene Lösungen von Problemen rund um das Speichern und Lesen (Persistieren) von Objekten. o Sie zeigen,

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente mit JPA 2.1 Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der

Mehr

Klassen mit Instanzmethoden

Klassen mit Instanzmethoden Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07

Mehr

TopLink. das performante und flexible Persistenz- Framework

TopLink. das performante und flexible Persistenz- Framework TopLink das performante und flexible Persistenz- Framework Präsentiert von: Martin Jäkle Principal Sales Consultant Recent Magazine Ad Objekt Relationales Mapping Schreiben der Objekte in die Relational

Mehr

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung 6 Implementierung komplexer Systeme 6.2 Datenbank-Anbindung Analyse Entwurf Implementierung Test, Integration Wartung Literatur: Balzert LE 24-26, 31 Ambler Kap. 10 Einsatz von Datenbanksystemen Persistente

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 22 EAA Patterns: ORM 2 / 22 Entwurfsmuster für Enterprise-Anwendungs-Architekturen Neben

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

MyCoRe > V1.0: Technische Weiterentwicklung

MyCoRe > V1.0: Technische Weiterentwicklung MyCoRe > V1.0: Technische Weiterentwicklung Frank Lützenkirchen, Kathleen Krebs Folie 1 Kontrollflüsse bisher Kontrollflüsse sind im MyCoRe Kern oder der darauf basierenden Applikation fix und explizit

Mehr

Hands-on-Workshop Datenmodellierung mit dem neuen Innovator for Database Architects. MID Insight Nürnberg,

Hands-on-Workshop Datenmodellierung mit dem neuen Innovator for Database Architects. MID Insight Nürnberg, Hands-on-Workshop Datenmodellierung mit dem neuen Innovator for Database Architects MID Insight 2010 - Nürnberg, 09.11.2010 I N H A L T 1. Konzeptionelle ER-Modellierung 2. Das Datenbankschema entsteht

Mehr

7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Komponenten Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced

Mehr

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack). Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen

Mehr

Relationales Datenmodell

Relationales Datenmodell Relationales Datenmodell Ein Datenmodell hat zwei Bestandteile: Eine mathematische Notation zur Darstellung von Daten und Beziehungen. Operationen auf den Daten, um Abfragen und andere Manipulationen zu

Mehr

Java-Objekte mit SQL verheiraten

Java-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

Mehr

Android Programmierung. Studiengang MI

Android Programmierung. Studiengang MI Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.

Mehr

Java Idioms. Basic und Advanced Java Coding Style. Prof. Dr. Nikolaus Wulff

Java Idioms. Basic und Advanced Java Coding Style. Prof. Dr. Nikolaus Wulff Java Idioms Basic und Advanced Java Coding Style Prof. Dr. Nikolaus Wulff Java Idiome Operator == versus equals Methode equals und hashcode Vermeide NullPointer Java Konstruktoren Function Pointers, Interfaces

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Datenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier

Datenbankpraktikum, 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

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz Hibernate Persistenz in Java-Systemen mit Hibernate und der Java Persistence API von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz 2., überarb. u. erw. Aufl. Hibernate Beeger / Haase / Roock

Mehr

Übung 01: Requirements Engineering. Übung 01. Requirement Engineering Software Engineering WS17/18 Philipp Seltmann

Übung 01: Requirements Engineering. Übung 01. Requirement Engineering Software Engineering WS17/18 Philipp Seltmann Übung 01 Requirement Engineering 1/13 http://www.hwk-chemnitz.de/fileadmin/user_upload/ausbildung/pruefungen/gesellenpruefungen/fragezeichen.jpg 2/13 1. Software Life Cycle Zählen Sie die Aktivitäten der

Mehr

S(tructured)Q(uery)L(anguage)

S(tructured)Q(uery)L(anguage) S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja

Mehr

Android will doch nur spielen. Java Übung

Android will doch nur spielen. Java Übung Android will doch nur spielen Java Übung Vorbereitung: Erstellen Sie mit Eclipse zunächst ein neues Java Projekt JavaUebungen. Lassen Sie die restlichen Einstellungen unverändert. Erzeugen Sie das Projekt

Mehr

Objektrelationale Abbildung am Beispiel von Hibernate

Objektrelationale Abbildung am Beispiel von Hibernate 1 Objektrelationale Abbildung am Beispiel von Hibernate Folien und Beispiele (*) unter http://claus-brell.de/orm (IP-Adresse wird gespeichert) Mai 2011 Dr. rer. nat. Claus Brell (*) Eclipse Projekte (Quelltexte)

Mehr

Testen persistenter Objekte 1

Testen persistenter Objekte 1 Testen persistenter Objekte Roman Heilig und Tom Kretschmer Seminar Bildanalyse und Simulation mit Java im SS 2004 Universität Ulm Testen persistenter Objekte 1 Gliederung Einführung CRM-System Persistente

Mehr

Datenbanken und Informationssysteme II (PO B.3)

Datenbanken und Informationssysteme II (PO B.3) Datenbanken und Informationssysteme II (PO B.3) Szenario Öffentlicher Nahverkehr: Es gibt Haltestellen, Streckenabschnitte, Linien und Fahrzeiten. Ein Streckenabschnitt ist die direkte Verbindung zwischen

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate 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

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Wiederholung. Systemtests

Wiederholung. Systemtests Systemtests 1. Wer (Tester): Tester 2. Was (Testobjekt): ganzes System 3. Auf was (Testziel): Alles außer Wartbarkeit 4. Wie (Testmethode, Testwerkzeug): Lasttest, UI Roboter Blackbox- Testverfahren Äquivalenzklassen

Mehr

Übung 01 Tabellen erstellen

Übung 01 Tabellen erstellen UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein

Mehr

3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)

3. 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

Mehr

DWx2r XSD/XML-Processing. Testversion

DWx2r XSD/XML-Processing. Testversion DWx2r XSD/XML-Processing Testversion INHALTSVERZEICHNIS 1. DWX2R XSD/XML-PROCESSING... 3 2. KONFIGURATION... 4 3. AUFRUF... 5 3.1 Tabellen-Generierung... 6 3.2 Laden der XML-Messages... 6 ReadMe Seite

Mehr

Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen

Migration 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

Mehr

Übungsaufgabe Transaktion als Middleware

Ü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

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute

Mehr

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS Persistenz ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping APCON Abbildung Objekte auf RDBMS Der Strukturkonflikt Basisklassen und Domänen Klassen zur Kapselung der relationalen Datenbank Abbildung

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Technische Fachhochschule Berlin, FB VI - Medieninformatik Software Engineering (SE II), 2. Kapitel: Wir bauen uns eine Web-Applikation.

Technische Fachhochschule Berlin, FB VI - Medieninformatik Software Engineering (SE II), 2. Kapitel: Wir bauen uns eine Web-Applikation. Kapitel WIR BAUEN UNS EINE WEB-APPLIKATION (ZWEITER TEIL) 2.5 Persistente Klassen mit JPA (Zweite Fingerübung) Entity Relationship-Modell Die persistente Klasse Inventory () Ein Attribut der Klasse zum

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Präsentation mongodb. David Wild

Präsentation mongodb. David Wild Präsentation mongodb David Wild 11.12.2012 Einleitung 2009 vom US-Startup 10gen als Open-Source-Lösung vorgestellt Einleitung 2009 vom US-Startup 10gen als Open-Source-Lösung vorgestellt Name stammt aus

Mehr

Java für Bauingenieure

Java für Bauingenieure 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Grundlagen 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 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

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 1 z Heute: y Java Data Objects Teil 2 z Lernziele: y Grundlagen der Programmierung persistenter Objekte

Mehr

Informationsintegration und Web-Portale. Tutorial: Enterprise Java Beans. Erik Buchmann

Informationsintegration und Web-Portale. Tutorial: Enterprise Java Beans. Erik Buchmann Universität Karlsruhe (TH) Informationsintegration und Portale Tutorial: Enterprise Java Erik Buchmann buchmann@ira.uka.de IPD, Forschungsbereich Systeme der Informationsverwaltung Benötigte Software Entity

Mehr

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:

Mehr

Programmiertechnik Klassenvariablen & Instantiierung

Programmiertechnik Klassenvariablen & Instantiierung Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen

Mehr

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue Java - Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Eltern-Kind-Beziehung. Ableitung

Mehr