2017-06-15 15 views
0

私はSurveyPropertiesのSetを含むSurveyクラスを持っています。ManyToOneエンティティは挿入と更新を使用します

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="survey") 
    public Set<SurveyProperty> getSurveyProperties() { 
     return this.surveyProperties; 
    } 


@ManyToOne 
    @JoinColumn(name = "survey_id", nullable=false) 
    public Survey getSurvey() { 
     return this.survey; 
    } 

は、今私は、JSONから調査を投入していますSurvey.javaとSurveyProperty.java

の定義を以下に示します。調査には、調査を含まない調査特性のセットが含まれています。さて、調査オブジェクトをdbに保存すると、まず調査に挿入されてからsurvey_propertyに挿入され、各survey_propertyがsurvey_idで更新されます。

survey_idを使用してsurvey_propertyに挿入するように設定する方法を教えてください。

答えて

0

サーベイオブジェクトを保存する前に、サーベイオブジェクトをsurvey_propertyオブジェクトに設定してください。

for(SurveyProperty S_P : survey.getsurveypropertylist){ 
    S_P.setSurvey(survey); 
} 

その後、保存または更新を使用できます。

+0

はい済みました。私はいくつかの注釈が欠けているかもしれないと思っていた – ArslanAnjum

+0

そのデータオブジェクトをフェッチする第3レベルのアノテーションはありません。関係オブジェクトは第2レベルでのみ使用されます。 – Manihtraa

関連する問題