繁体   English   中英

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

[英]Hibernate not inserting row in join table used in @onetomany bi-directional relationship.

我有两个波霍学生和一个科。 关系是,一节有很多学生。 (双向)

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

学生表和节表正在填充,但联接表“ student_section”未在填充。 请提供解决方案。 提前致谢。

您能否尝试以下映射:

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

在节课中,在学生课中:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM