2016-07-28 5 views
3

を休止Javaで子テーブルの聖霊降臨祭のOneToMany関係に挿入しない:親ID私はOneToMany関係を持つエンティティ<code>ServiceConfig</code>を持って

@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; 

そして、それぞれの子クラスでは、私が持っている:

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

I新しいServiceConfigを取得 - 私は3つのテーブル、ServiceConfigNotificationItemQosItemを持っています。 NotificationItemQosItemの表では、空の列TD_SERVICE_CONFIG_IDがありますが、すべてのデータが挿入されています。

子供のTD_SERVICE_CONFIG_ID列への正常な挿入親IDのために、休止状態(注釈または別の構成)を設定するにはどうすればよいですか?

+0

エンティティをどのように保存しますか? 2つのNotificationItemとQosItemのServiceConfigを設定しますか? –

答えて

2

あなたの設定は正常です。

私は疑問に思っていますが(あなたのコードを見ることなく、明らかにそのことを伝えることはできませんが)、関係の反対側を設定していないと思われます。 次のようにあなたがNotificationItemを追加します。

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

真ん中のラインは、ここで重要なものです。

+0

ありがとう!私はそれを完全に忘れてしまった)))) – user5620472

+0

それはまた前に私をキャッチ! – StuPointerException

関連する問題