双向@OneToOne映射使用hibernate创建记录
Bi-directional @OneToOne mapping creating records using hibernate
保存双向@OneToOne 映射时,hibernate 是否应该在两个 table 上都进行记录?
我有一个 table interview
与列 applicant_id
引用 applicant
table 与字段 interview_id
反之亦然,列成为 FK。
当通过执行 session.save(theInterview)
创建列时,hibernate 是否应该在 applicant
table applicant_id
中创建记录?我需要自己更新现有记录还是我做错了什么?
Edit
刚刚处理我的 JSP 文件并注意到我可以看到申请人也存在参考。但是对数据库的查询显示该字段为空?
Hibernate Mapping
@OneToOne(mappedBy="applicant_id", cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "interview_id")
private Interview interview_id;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "applicant_id", nullable=false)
private Applicant applicant_id;
Interview_id
column on an applicant
after recording an interview instance.
你能提供你的 Hibernate 映射吗?你问的是级联,即申请人的 Hibernate 级联应该保存。这完全取决于是否已指示 Hibernate 对关系进行级联保存。
保存双向@OneToOne 映射时,hibernate 是否应该在两个 table 上都进行记录?
我有一个 table interview
与列 applicant_id
引用 applicant
table 与字段 interview_id
反之亦然,列成为 FK。
当通过执行 session.save(theInterview)
创建列时,hibernate 是否应该在 applicant
table applicant_id
中创建记录?我需要自己更新现有记录还是我做错了什么?
Edit
刚刚处理我的 JSP 文件并注意到我可以看到申请人也存在参考。但是对数据库的查询显示该字段为空?
Hibernate Mapping
@OneToOne(mappedBy="applicant_id", cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "interview_id")
private Interview interview_id;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "applicant_id", nullable=false)
private Applicant applicant_id;
Interview_id
column on anapplicant
after recording an interview instance.
你能提供你的 Hibernate 映射吗?你问的是级联,即申请人的 Hibernate 级联应该保存。这完全取决于是否已指示 Hibernate 对关系进行级联保存。