package com.wangshenghua.entity; import java.io.Serializable; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; @Entity @Table(name = "course") public class Course implements Serializable { private static final long serialVersionUID = 5844590076435775458L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name;
/**
* 一个学生对应多门功课<br>
* 多对多时,使用中间表关联两者关系<br>
*/
@ManyToMany(cascade = CascadeType.ALL) @JoinTable(name = "student_has_course", joinColumns = @JoinColumn(name = "course_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "student_id", referencedColumnName = "id")) private Set<Student> students; // @JoinTable里的 name 中间表 // joinColumns 当前实体ID // inverseJoinColumns对方实体ID public Course() { } public Course(String name) { super(); this.name = name; } 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; } public Set<Student> getStudents() { return students; } public void setStudents(Set<Student> students) { this.students = students; } @Override public String toString() { return "Course [id=" + id + ", name=" + name + ", students=" + students + "]"; } }