Hallo
Ich arbeite z.Z. mit Hibernate 3.6 in Java.
Code:
public void TestSave()
{
final Artikel artikel = createArtikel("Monitor", 150.00);
final Artikel artikel2 = createArtikel("Stuhl", 15.00);
this.session.getTransaction().begin();
this.session.saveOrUpdate(artikel);
this.session.saveOrUpdate(artikel2);
this.session.getTransaction().commit();
ReloadSession(); //Startet die Session neu. Ist getestet, funktioniert ohne Probleme
final Artikel NeuArtikel = (Artikel) this.session.createCriteria(Artikel.class).add(Restrictions.eq("name", "Monitor")).uniqueResult();
final Artikel NeuArtikel2 = (Artikel) this.session.createCriteria(Artikel.class).add(Restrictions.eq("name", "Stuhl")).uniqueResult();
NeuArtikel.setName("MonitorNeu");
NeuArtikel2.setName("StuhlNeu");
this.session.getTransaction().begin();
this.session.saveOrUpdate(NeuArtikel);
this.session.getTransaction().commit();
}
private Artikel createArtikel(final String name, final double preis) {
final Artikel artikel = new Artikel();
artikel.setName(name);
artikel.setPreis(preis);
return artikel;
}
wie zu sehen ist lege ich 2 Artikel an und speichere diese in der Datenbank. Anschließend wird die Session neugestartet und die Artikel neu aus der Datenbank geladen. Wenn ich die Namen beider Artikel ändere, aber nur den ERSTEN speichere, sind dennoch beide in der Datenbank geändert.
Wie ist es möglich die Objekte einzeln zu speichern, ohne gleich alle Objekte die an der Session hängen mitzuspeichern?
mfg Gamer