2016-07-28 14 views
3
winter

Ich habe Entität ServiceConfig mit zu OneToMany Beziehung:Eltern-ID nicht auf dem Kind Tabelle Whit einfügen OneToMany Beziehung in java

@OneToMany(mappedBy = "serviceConfig", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<NotificationItem> notificationItems; 

    @OneToMany(mappedBy = "serviceConfig", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<QosItem> qosItems; 

Und in jeder Kind-Klasse, die ich habe:

@ManyToOne(cascade = CascadeType.ALL) 
    @JoinColumn(name = "TD_SERVICE_CONFIG_ID") 
    private ServiceConfig serviceConfig; 

Als ich falle neu ServiceConfig - Ich habe 3 Tabellen, ServiceConfig, NotificationItem und QosItem. In NotificationItem und QosItem Tabellen habe ich leere Spalte TD_SERVICE_CONFIG_ID aber alle Daten eingefügt.

Wie kann ich Hibernate (Anmerkungen oder andere Konfigurationen) für erfolgreich einfügen Eltern-ID zu TD_SERVICE_CONFIG_ID Spalte des Kindes?

+0

Wie speichern Sie die Entität ?! Stellen Sie die ServiceConfig für die zwei NotificationItem und QosItem ?! –

Antwort

2

Ihre Konfiguration sieht gut aus.

Ich vermute (obwohl natürlich nicht sicher sagen kann, ohne Ihren Code zu sehen), dass Sie nicht die inverse Seite der Beziehung einstellen, die erforderlich ist. Sie würden eine NotificationItem hinzufügen wie folgt:

NotificationItem item = new NotificationItem(); 
item.setServiceConfig(service); //set the other side of the bi-directional relationship 
servive.getNotificationItems().add(item); 

Die mittlere Linie hier die wichtigsten ist.

+0

Danke! Ich habe es komplett vergessen)))) – user5620472

+0

Es hat mich auch schon früher erwischt! – StuPointerException