Java 冬眠不';t填充联接表
我有一个关于Hibernate的问题。我有很多经典的联想。将数据插入表时,联接表为空Java 冬眠不';t填充联接表,java,hibernate,jpa,Java,Hibernate,Jpa,我有一个关于Hibernate的问题。我有很多经典的联想。将数据插入表时,联接表为空 @ManyToMany @JoinTable(name = "employee_interview", catalog = "db69824xmatko", schema = "", joinColumns = @JoinColumn(name = "employee_id", nullable = false), inverseJoinColumns = @JoinColumn
@ManyToMany
@JoinTable(name = "employee_interview", catalog = "db69824xmatko", schema = "",
joinColumns = @JoinColumn(name = "employee_id", nullable = false),
inverseJoinColumns = @JoinColumn(name = "interview_id", nullable = false))
public Set<InterviewEntity> getInterviews() {
return interviews;
}
@ManyToMany(mappedBy = "interviews")
public Set<EmployeeEntity> getEmployees() {
return this.employees;
}
我试图找到解决办法,但没有成功。我试着冲水。SQL我在没有刷新的情况下会变成什么:
Hibernate:
insert
into
employee
(created_date, created_user, first_name, last_name, login, password)
values
(?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
interview
(candidate_id, comment, created_date, created_user, interview_date, job, protocol, round)
values
(?, ?, ?, ?, ?, ?, ?, ?)
当我使用flush SQL时,以下命令正在运行:
Hibernate:
insert
into
employee_interview
(employee_id, interview_id)
values
(?, ?)
我不明白为什么在这个SQL脚本运行时,我有空表employee_面试。我怎样才能解决这个问题?如何使用正确的数据填充联接表?谢谢你的提示。:)
当我创建新员工时,一切正常,但当我使用旧对象时,我有一个例外,更新后的面试ID不存在
--更新--
在里面
InterviewEntity InterviewEntity=prepareInterview()
也可以尝试在InterviewEntity中设置关系。比如:
interviewEntity.getEmployees().add(employeeEntity)
也可以尝试在InterviewEntity中设置关系。比如:
interviewEntity.getEmployees().add(employeeEntity)
employeeDao.flush()
和interviewDao.flush()
在实现上有什么区别?保存记录后,您将面试添加到员工中。然后在保存面试之前将员工添加到面试中,这样他们的数据库状态可能不一致。Hibernate可能在“帮助”你。两者之间没有区别。只有Session.flush()。但是为什么在输出中插入到employee_面试中,而在表中什么都没有。employeeDao.flush()和interviewDao.flush()
在实现上有什么区别?保存记录后,您将面试添加到员工中。然后在保存面试之前将员工添加到面试中,这样他们的数据库状态可能不一致。Hibernate可能在“帮助”你。两者之间没有区别。只有Session.flush()。但为什么在输出中插入到员工面试中,而在表中什么都没有。
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.tuke.entity.InterviewEntity#104]
interviewEntity.getEmployees().add(employeeEntity)