保存双向@OneToOne 映射时,hibernate 是否应该在两个表上都记录?
我有一个包含 applicant_id
列的表 interview
,它引用了包含字段 interview_id
的 applicant
表,反之亦然,列是 FK。
当通过执行 session.save(theInterview)
创建列时,hibernate 是否应该在 applicant
表 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 对关系进行级联保存。
关于java - 双向@OneToOne映射使用hibernate创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53549901/