Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 冬眠不';t填充联接表_Java_Hibernate_Jpa - Fatal编程技术网

Java 冬眠不';t填充联接表

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

我有一个关于Hibernate的问题。我有很多经典的联想。将数据插入表时,联接表为空

@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)