Ich habe 2 Modelle mit den ff Spalten in der db:Spring MVC Fremd Feld in der Tabelle wird nicht aktualisiert
ContractHeader
id = primary key
con_num
ContractEntitlement
id = primary key
ch_id = foreign key to id in ContractHeader table
category
Ein Vertragskopf mehrere Vertrag Berechtigung haben kann. Modellklassen sind:
ContractHeader.java
@Entity
@Table(name = "CONTRACT_HEADER")
public class ContractHeader {
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "contractHeader")
private List<ContractEntitlement> contractEntitlements;
@Column(name = "con_num")
private String conNum;
getter and setter ....
ContractEntitlement
@Entity
@Table(name = "CONTRACT_ENTITLEMENT")
public class ContractEntitlement {
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ch_id", referencedColumnName = "id")
private ContractHeader contractHeader;
@Column(name = "category")
private String category;
getter and setter ....
Wenn ich das Datum speichern von jsp es richtig, den Wert ohne Fehler aus jeder Tabelle im Frühjahr fügt aber das ch_id Feld (Fremdschlüssel) ist immer leer. Irgendeine Idee, warum ch_is nicht von der ID aus der contractheader-Tabelle aufgefüllt wird?
Möchten Sie, dass ch_id automatisch ausgefüllt wird oder Sie einen Wert für ch_id aus dem Formular senden und immer noch Null dafür einfügt? –
Die ID aus dem Vertragskopf wird nach dem Speichern aus der Tabelle (serialisiert) ausgefüllt. Ich ging davon aus, dass die Zuordnung der ID zu ch_id automatisch die ch_id in der Tabelle auffüllen wird. Ich sende die ch_id nicht aus dem Formular. –
Je mehr ich darüber nachdenke, denke ich, dass dies auf der Seite db geschehen muss (Store Procedured). Irgendwelche Kommentare? –