67,512
社区成员
发帖
与我相关
我的任务
分享
@Entity
@Table(name="t_student")
public class Student {
private int id;
private String name;
private Set<Course> courses = new HashSet<Course>();
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@ManyToMany
@JoinTable(name="t_score",joinColumns={@JoinColumn(name="studentId")},inverseJoinColumns={@JoinColumn(name="courseId")})
public Set<Course> getCourses() {
return courses;
}
public void setCourses(Set<Course> courses) {
this.courses = courses;
}
}
@Entity
@Table(name="t_course")
public class Course {
private int id;
private String name;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@Entity
@Table(name="t_score")
@IdClass(ScorePK.class)
public class Score {
private int score;
private Student student;
private Course course;
@Column(nullable=true)
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Id
@ManyToOne
@JoinColumn(name="studentId")
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
@Id
@ManyToOne
@JoinColumn(name="courseId")
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
}
@Entity
public class ScorePK implements java.io.Serializable{
private Student student;
private Course course;
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
@Override
public boolean equals(Object o){
if(o instanceof ScorePK){
ScorePK t = (ScorePK) o;
return t.getStudent() == this.getStudent()
&& t.getCourse()==this.getCourse();
}
return false;
}
@Override
public int hashCode(){
return this.student.hashCode();
}
}
session.beginTransaction();
Course c = new Course();
c.setId(21);
c.setName("English");
Student s = new Student();
s.setId(11);
s.setName("Hiway");
s.getCourses().add(c);
Score sc = new Score();
sc.setScore(90);
sc.setStudent(s);
sc.setCourse(c);
session.save(c);
session.save(s);
session.save(sc);
session.getTransaction().commit();
session.beginTransaction();
Course c = new Course();
c.setId(21);
c.setName("English");
Student s = new Student();
s.setId(11);
s.setName("Hiway");
s.getCourses().add(c);
Score sc = new Score();
sc.setScore(90);
sc.setStudent(s);
sc.setCourse(c);
session.save(c);
session.save(s);
session.save(sc);
session.getTransaction().commit();
这是测试代码
session.beginTransaction();
Course c = new Course();
c.setId(21);
c.setName("English");
Student s = new Student();
s.setId(11);
s.setName("Hiway");
s.getCourses().add(c);
Score sc = new Score();
sc.setScore(90);
sc.setStudent(s);
sc.setCourse(c);
session.save(c);
session.save(s);
session.save(sc);
session.getTransaction().commit();