06.10.2013 Aufrufe

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 3. ENTWICKLUNG DES SYSTEMS<br />

<br />

<br />

<br />

<br />

<br />

Die bei dem zu entwickelnden System verwendeten Konfigurations- und Mapping-Dateien<br />

können im Anhang B nachgeschlagen werden.<br />

Die SessionFactory-Konfigurationsdatei und die Mapping-XML-Dateien werden - für den<br />

Datenbankzugriff mit Hilfe von “Hibernate“ - einmalig angelegt. Um nun aus dem Programm<br />

auf die Datenbank zugreifen zu können, benötigt man ein Objekt, welches die<br />

Instanz der "SessionFactory"-Klasse aus dem Paket "org.hibernate" ist. Dieses Objekt<br />

wird zum Laden der SessionFactory-Konfigurationsdatei und der Mapping-XML-<br />

Dateien verwendet. Es ist üblich, pro Datenbank jeweils nur ein solches Objekt zu erzeugen.<br />

Für den eigentlichen Zugriff auf die Datenbank wird ein Objekt der Klasse<br />

"Session" desselben Pakets benötigt. Dieses Objekt stellt das Bindeglied zwischen der<br />

Applikation und den “Hibernate“-Diensten dar, indem es Methoden für Insert-, Update-,<br />

Delete- und Query-Operationen bereitstellt. Für jeden Datenbankzugriff wird jeweils ein<br />

"Transaction"-Objekt benötigt, dessen Klasse sich ebenfalls im Paket "org.hibernate"<br />

befindet. Die Verwendung dieser Objekte soll nun anhand eines Quellcodeausschnittes<br />

gezeigt werden.<br />

SessionFactury sessFact = new Configuration().<br />

configure().buildSessionFactory();<br />

Session sess = sessFact.openSession()<br />

Transaction trx = sess.beginTransaction();<br />

sess.save(user1);<br />

trx.commit();<br />

trx = sess.beginTransaction();<br />

sess.save(user2);<br />

trx.commit();<br />

trx = sess.beginTransaction();<br />

User newUser1 = (User) sess.load(User.class, user1.getID());<br />

trx.commit();<br />

trx = sess.beginTransaction();<br />

User newUser2 = (User) sess.load(User.class, user2.getID());<br />

trx.commit();<br />

System.out.println(newUser1.getName());<br />

System.out.println(newUser2.getName());<br />

Zudem ist es möglich, mit dem folgenden Befehl, eine Menge von Objekten als Resultat<br />

einer Datenbankabfrage zu erhalten:<br />

java.util.List moreUsers =<br />

sess.createQuery("from Users where NAME=’Michael’").list();<br />

19

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!