2011-06-28 62 views
1

我想涉及兩個表春/ MYSQL中這樣如何在春季onttomany關係冬眠

@Table (name = candidatresumeinfo) 
    public class CandidateResumeInfo implements Serializable 
     { 
    List<SelectedResumes> selectedResumes; 
     ............. 
     .............. 

    @JoinColumn(name = "selectedresumeid") 
@OneToMany 
public List<SelectedResumes> getSelectedResumes() { 
    return selectedResumes; 
} 
public void setSelectedResumes(List<SelectedResumes> selectedResumes) { 
    this.selectedResumes = selectedResumes; 
} 

休眠現在,我在我的列表中的數據正確(我在調試檢查),但來自服務器的調用失敗,這是說原因:空指針異常。

感謝

+0

請提供您的問題堆棧跟蹤和其它信息。 – lepike

回答

3

只能在集合使用OneToMany註釋,所以你應該將字段更改爲集或列表,因爲如果使用一對多hibernate會返回多個結果。我想你想在這裏使用ManyToOne註釋。

  • ManyToOne這裏意味着你必須一個SelectedResumes多個CandidateResumeInfo。
  • OneToMany這裏表示您有多個SelectedResumes一個CandidateResumeInfo

這個註釋命名可能有點奇怪,第一次。希望我幫助。

回答您的評論:

最好的辦法是你聲明兩側的關係。 這裏是例子:

CandidateResumeInfo.java:

@OneToMany(mappedBy="candidateResumeInfo") 
List<SelectedResumes> selectedResumes; 

SelectedResumes.java:

@ManyToOne 
@JoinColumn(name="candidate_resume_info_id") 
CandidateResumeInfo candidateResumeInfo; 
+0

感謝abalogh,我改變它設置爲你說的,現在我得到這個錯誤:調用initmethod失敗,嵌套異常是org.hibernate.annotationexception,通過引用未知目標實體屬性映射>>任何想法是什麼原因 – junaidp

+0

我在答案中寫下了你的例子。 – lepike

+0

感謝abalogh,這個例外被刪除,謝謝你,我正在嘗試你的方式,希望它的作品謝謝 – junaidp