OWiesbrock
Grünschnabel
Tach,
für Leute die sich schon ein wenig mit dem Hibernate-Framework auseinandergesetzt haben habe ich eine schöne kleine Anfrage:
Ich habe mir durch Hibernate mit Daten aus einer MySQL-DB ein entsprechendes Objekt erschaffen. Dieses Objekt enthält wiederum Sets mit weiteren Objekten, die DB-Tabellen entsprechen. Ich habe nun Daten des ersten Objekts geändert und möchte diese nun in der DB aktualisieren. Dazu rufe ich saveOrUpdate(Object o) aus dem Framework auf (Session und Transaction sind natürlich geöffnet).
Alle Daten des ersten Objekts, die nicht in den Sets enthalten sind, werden durch ein erstes Update problemlos aktualisiert, wenn Hibernate nun jedoch beginnt die Sets auszulesen und SQL-Strings zu erstellen sieht der Output etwa so aus:
update projekt_ma set ma_id=null where ma_id=?
Die ma_id ist die MitarbeiterID und ist Teilschlüssel der Tabelle projekt_ma. Kann mir einer vielleicht erklären warum Hibernate versucht diese ID auf null zu setzten? Noch besser wäre es wenn mir einer einen Lösungsvorschlag anbieten könnte.
Danke
OWiesbrock
für Leute die sich schon ein wenig mit dem Hibernate-Framework auseinandergesetzt haben habe ich eine schöne kleine Anfrage:
Ich habe mir durch Hibernate mit Daten aus einer MySQL-DB ein entsprechendes Objekt erschaffen. Dieses Objekt enthält wiederum Sets mit weiteren Objekten, die DB-Tabellen entsprechen. Ich habe nun Daten des ersten Objekts geändert und möchte diese nun in der DB aktualisieren. Dazu rufe ich saveOrUpdate(Object o) aus dem Framework auf (Session und Transaction sind natürlich geöffnet).
Alle Daten des ersten Objekts, die nicht in den Sets enthalten sind, werden durch ein erstes Update problemlos aktualisiert, wenn Hibernate nun jedoch beginnt die Sets auszulesen und SQL-Strings zu erstellen sieht der Output etwa so aus:
update projekt_ma set ma_id=null where ma_id=?
Die ma_id ist die MitarbeiterID und ist Teilschlüssel der Tabelle projekt_ma. Kann mir einer vielleicht erklären warum Hibernate versucht diese ID auf null zu setzten? Noch besser wäre es wenn mir einer einen Lösungsvorschlag anbieten könnte.
Danke
OWiesbrock