Komponentenbasierte Software

Werbung
Prof. Dr. Stephan Kleuker
Fachhochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Komponentenbasierte Software-Entwicklung
Wintersemester 2009/10
4. Aufgabenblatt
Aufgabe 5 (4 Punkte)
Ihre Aufgabe besteht darin, mit einem oder mehreren kleinen Beispielprogrammen die
Bedeutung der Parameter der Annotation @Column zu verdeutlichen, insofern ihre Werte
einmal true und einmal false sind. Die Annotation bietet u. a. die Parameter nullable,
updatable und unique, z. B. @Column(name="Leiter", nullable=false, updatable=true,
unique=true). Probieren Sie erfolgreiche und erfolglose Versuche, in Spalten mit diesen
Annotationen bestimmte Werte einzutragen oder diese zu ändern.
Führen Sie dabei jeden Schritt mit Hilfe eines neuen EntityManager-Objekts em durch und
garantieren Sie, dass die Objektänderungen auch in die Datenbank geschrieben werden:
em.flush() und em.close().
Aufgabe 6 (4 Punkte)
a) Aus den Aufgaben zur Datenbanknutzung ist bekannt, dass Transaktionen möglichst
kurz sein sollen, dagegen sollen Sie hier konsequent verstoßen (vgl. Aufgabe 2e) und
alle Programmschritte innerhalb einer Transaktion abarbeiten. Schreiben Sie ein
minimales Programm basierend auf JPA, bei dem, wenn es mehrfach gestartet wird,
passieren kann, dass zwei Transaktionen das gleiche Objekt lokal bearbeiten. Wie
verhält sich Ihr Programm, wenn das gleiche Objekt und wenn ein anderes Objekt
bearbeitet wird?
b) Sichern Sie durch eine Änderung Ihres Programms aus a) zu, dass die Objekte nicht
nur lokal, sondern zwischenzeitlich auch auf der Datenbank geändert werden. Nutzen
Sie dazu flush(). Welche Beobachtungen machen Sie?
c) Führen Sie in Ihrer Entity-Klasse ein zusätzliches Attribut @Version private int
version ein. Führen Sie die Experimente aus a) und b) erneut durch.
Schreiben Sie jeweils das beobachtete Verhalten auf.
Hinweis: Beachten Sie, dass es beim Testen von Programmvarianten meistens notwendig
ist, das gesamte Projekte neu zu übersetzen. In Netbeans:
Seite 1 von 1
Herunterladen