我试图在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异常。
感谢
答案 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;