Databases Reference
In-Depth Information
</list>
</class>
</hibernate-mapping>
Im folgenden Code-Fragment werden vier Alben definiert, die dann mit Hilfe der
Methode
speichern
einer neuen Reihe namens
Lustiges Taschenbuch
zu-
geordnet werden.
Alben[] ltbs={
new Alben(1,"Der Kolumbusfalter",new BigDecimal("2.50"),1967),
new Alben(6, "Micky-Parade", new BigDecimal("2.80"), 1968),
new Alben(23, "Ritter Donald ist der Beste",
new BigDecimal("3.50"), 1973),
new Alben(16, "Donald in 1000 und einer Nacht",
new BigDecimal("3.00"), 1971)
};
speichern("Lustiges Taschenbuch", ltbs);
In der Methode
speichern
wird ein neues Objekt vom Typ
Reihen
erzeugt, zu
dem dann alle Alben aus dem Array
alben
hinzugefügt werden. Der eigentliche
Transfer zum RDBMS findet erst nach dem Ende der Schleife statt: Im Rahmen
einer Transaktion wird das Objekt
reihe
in die Datenbank eingefügt und damit
auch automatisch alle zugehörigen Alben:
private void speichern(String name, Alben[] alben){
Reihen reihe=new Reihen(name);
for(Alben album : alben)
reihe.addAlbum(album);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
session.save(reihe);
transaction.commit();
session.close();
Der Inhalt der Tabelle
reihen
beschränkt sich auf einen Datensatz, dessen
id
den Wert 1 hat. Interessanter ist der Inhalt der Tabelle
alben
. Die Bedeutung der
Spalten haben wir uns weiter oben klargemacht. Hier können wir erkennen, dass
die Werte der Spalte
seq
die Reihenfolge der Alben im Array
ltbs
reflektieren.
19.8
Kein Allheilmittel
Hibernate ist keineswegs der einzige OR-Mapper. Die Java-Plattform bietet
auch alternative Werkzeuge wie EclipseLink
8
; für .Net-Entwickler gibt es eine
8