学生与老师是多对多的关系
package hibernate002test.copy;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
public class Teacher {
private int id;
private String name;
private Set<Student>
students = new HashSet<Student>
();
@Id
@GeneratedValue
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 = "s_t", joinColumns = { @JoinColumn(name = "teacher_id") }, inverseJoinColumns = {
@JoinColumn(name = "student_id") })
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
}
package hibernate002test.copy;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
public class Student {
private int id;
private String name;
@Id
@GeneratedValue
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;
}
}
测试类
package datatest;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
/**
* 在一对一双向关联时要使用例如:@OneToOne(mappedBy=”wife”)
* @author Lenovo
*
*/
public class Test {
@org.junit.Test
public void test() {
new SchemaExport(new AnnotationConfiguration().configure()).create(false,true);
}
}