如何在春天的冬眠中建立起关系

时间:2011-06-28 09:20:11

标签: spring

我试图在MYSQL中将两个表与spring / hibernate联系起来,就像这个

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

现在,我正确地获取了列表中的数据(我在调试中检查过)但是来自服务器的调用正在失败,这说明原因:Nullpointer异常。

感谢

1 个答案:

答案 0 :(得分:3)

您只能在集合上使用OneToMany注释,因此您应该将字段更改为设置或列表,因为如果您使用hibernate将返回多个结果一对多。我想你想在这里使用ManyToOne注释。

  • ManyToOne表示您有一个SelectedResumes的多个CandidateResumeInfo
  • OneToMany在这里表示您有一个CandidateResumeInfo 多个SelectedResumes。

这个注释命名第一次有点奇怪。希望我帮忙。

回答您的评论:

最好的方法是双方宣布关系。 这是一个例子:

<强> CandidateResumeInfo.java:

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

<强> SelectedResumes.java:

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