Hibernate不在@onetomany双向关系中使用的连接表中插入行。

时间:2015-07-28 12:45:50

标签: java hibernate hibernate-annotations

我有两个pojo学生和部分。 关系是,一节有很多学生。 (双向)

@Entity
@Table(name="section")
public class Section {

@Id
@GeneratedValue
private int sectionId;
private String sectionName;
private int maxStudent;

@OneToMany(cascade=CascadeType.PERSIST)
@JoinTable(name="student_section" , inverseJoinColumns={@JoinColumn(name="student_id")},joinColumns={@JoinColumn(name="section_id")})
private Set<Student> student = new HashSet<Student>(0);

public Set<Student> getStudent() {
    return student;
}
public void setStudent(Set<Student> student) {
    this.student = student;
}

@Entity
@Table(name="student")
public class Student {

@Id
@GeneratedValue
private int studentId;
private String studentName;
private int studentAge;
@OneToOne(cascade=CascadeType.PERSIST)
@JoinTable(name="student_section" , joinColumns={@JoinColumn(name="student_id")},inverseJoinColumns={@JoinColumn(name="section_id")})
private Section section;

学生和科目表正在填充,但加入表&#34; student_section&#34;没有填充。 请提供解决方案。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

请尝试使用以下映射:

@OneToMany(cascade=CascadeType.PERSIST)
@JoinTable(name="student_section" , inverseJoinColumns={@JoinColumn(name="student_id")},joinColumns={@JoinColumn(name="section_id")})
private Set<Student> student

在Section课程中以及Student课程中的以下内容:

@ManytoOne(cascade=CascadeType.ALL)
 private Section section;