ich habe eine Master-Tabelle, mit folgendem Eintrag beim Primär-Schlüssel :
Klappt auch wunderbar, die Daten in der Master-Tabelle werden problemlos mit einem automatisch generierten Schlüssel eingefügt.
In dieser Master-Tabelle habe ich einen Verweis auf Datensätze in einer untergeordneten "Detail-Tabelle" :
In dieser Detail-Tabelle ist der Primär-Key genauso definiert, wie in der Primär-Tabelle, also :
Wenn ich nun versuche, einen Detail-Datensatz abzuspeichern mit
dann erhalten ich beim save folgende Fehlermeldung :
"java.sql.SQLException: Attempt to insert null into a non-nullable column: column: MASTER_PRIKEY table..."
OK, es dürfte klar sein, was die Ursache ist :
Beim erstmaligen Erzeugen der Detail-Tabelle werden von Hibernate irgendwelche constraints und foreign-Keys-Beziehungen zur Master-Tabelle angelegt und beim Abspeichern eines Detail-Datensatzes ist Hibernate der dazugehörige Master-Key noch unbekannt... aber wie soll ich sonst vorgehen ?
Ich muß doch irgendwie die Detail-Datensätze abspeichern können und ggf. in einem späteren Schritt diese in die ArrayList eines Master-Records hinzufügen können.... hat jemand da bitte einen Tipp für mich ?
Vielen Dank im voraus.
Java:
private Integer priKey;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getPriKey() {
return priKey;
}
Klappt auch wunderbar, die Daten in der Master-Tabelle werden problemlos mit einem automatisch generierten Schlüssel eingefügt.
In dieser Master-Tabelle habe ich einen Verweis auf Datensätze in einer untergeordneten "Detail-Tabelle" :
Java:
@OneToMany(targetEntity=DetailTab.class)
@JoinTable(name="Detail")
@Fetch(org.hibernate.annotations.FetchMode.JOIN )
public List<DetailTab> getDetails() {
return details;
}
In dieser Detail-Tabelle ist der Primär-Key genauso definiert, wie in der Primär-Tabelle, also :
Java:
[code=Java] private Integer priKey;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getPriKey() {
return priKey;
}
Wenn ich nun versuche, einen Detail-Datensatz abzuspeichern mit
Java:
detailRec= new DetailTab();
getHibernateTemplate().save(detailRec);
dann erhalten ich beim save folgende Fehlermeldung :
"java.sql.SQLException: Attempt to insert null into a non-nullable column: column: MASTER_PRIKEY table..."
OK, es dürfte klar sein, was die Ursache ist :
Beim erstmaligen Erzeugen der Detail-Tabelle werden von Hibernate irgendwelche constraints und foreign-Keys-Beziehungen zur Master-Tabelle angelegt und beim Abspeichern eines Detail-Datensatzes ist Hibernate der dazugehörige Master-Key noch unbekannt... aber wie soll ich sonst vorgehen ?
Ich muß doch irgendwie die Detail-Datensätze abspeichern können und ggf. in einem späteren Schritt diese in die ArrayList eines Master-Records hinzufügen können.... hat jemand da bitte einen Tipp für mich ?
Vielen Dank im voraus.