Databases Reference
In-Depth Information
private void speichern(String[] names){
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
for(String name : names){
Reihen reihe = new Reihen(name);
log.info("Vor save: "+reihe);
session.save(reihe);
log.info("Nach save: "+reihe);
}
transaction.commit();
session.close();
}
Wir übergeben der Methode also einige Namen von Comicreihen, aus denen dann
Objekte vom Typ Reihe erzeugt werden. Diese Objekte werden dann mit der
Methode save in der Datenbank abgelegt. Bevor wir speichern genauer unter
die Lupe nehmen, wollen wir sie einmal aufrufen und uns die Ausgabe ansehen.
Dazu fügen wir die beiden folgenden Zeilen an das Ende des Konstruktors:
String[] namen={"Asterix","Lustiges Taschenbuch"};
speichern(namen);
und ergänzen eine einfache main -Methode:
public static void main(String[] args) throws Exception {
new CRUDReihen();
}
Auf der Konsole erscheint - nach vielen anderen Ausgaben:
1499 [main] INFO CRUDReihen - Vor save: 0 Asterix
Hibernate: insert into Reihen (id, name) values (null, ?)
1536 [main] INFO CRUDReihen - Nach save: 1 Asterix
1536 [main] INFO CRUDReihen - Vor save: 0 Lustiges Taschenbuch
Hibernate: insert into Reihen (id, name) values (null, ?)
1537 [main] INFO CRUDReihen - Nach save: 2
Lustiges Taschenbuch
Gleich am Anfang der Methode speichern besorgen wir uns ein Session -
Objekt und öffnen dann eine Transaktion. In einer Schleife werden die Objekte
vom Typ Reihen erzeugt. Nach dem Ende der Schleife wird zunächst die Trans-
aktion und dann die Session geschlossen. Interessant ist der Teil in der Schleife:
Wir erzeugen das Objekt vom Typ Reihen mit Hilfe des einparametrigen Kon-
struktors. Im Konstruktor wird das Attribut id auf 0 gesetzt. Dem Attribut name
wird im ersten Schleifendurchlauf der Text 'Asterix' zugewiesen. Daher erhal-
ten wir eine Ausgabe wie
Search WWH ::




Custom Search