Student类:
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Generated;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name = "t_student")
@SequenceGenerator(name = "seq", sequenceName = "seq_teacher_id")
public class Student {
@Id
@GeneratedValue(generator = "seq")
Integer studentId;
String studentName;
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "t_teacher_student", inverseJoinColumns = { @JoinColumn(name = "teacherid") }, joinColumns = { @JoinColumn(name = "studentid") })
Teacher teacher = new Teacher();
public Integer getStudentId() {
return studentId;
}
public void setStudentId(Integer studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
Teacher类:
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name = "t_teacher")
@SequenceGenerator(name = "seq", sequenceName = "seq_student_id")
public class Teacher {
@Id
@GeneratedValue(generator = "seq")
Integer teacherId;
String teacherName;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "teacher")
Set<Student> students = new HashSet<Student>(0);
public Integer getTeacherId() {
return teacherId;
}
public void setTeacherId(Integer teacherId) {
this.teacherId = teacherId;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
public void addStudent(Student student) {
this.students.add(student);
}
}
测试:
import org.hibernate.Session;
import org.hibernate.Transaction;
-->
- 该日志由 suspender 于11年前发表在综合分类下,最后更新于 2013年11月03日.
- 转载请注明: Hibernate 一对多关系映射 | 学步园 +复制链接