private SessionFactory sessionFactory=null;
package com.tfy.heibernate.mangtoone;
import java.util.Set;
import javax.xml.ws.BindingType;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Before;
import org.junit.Test;
public class MangToOneDoubleTest {
private SessionFactory sessionFactory=null;
@Before
public void before(){
Configuration configuration=new Configuration();
configuration.configure();
sessionFactory=configuration.buildSessionFactory();
}
/**
* 1、解除班级和所有的学生之间的关系
* 2、已经存在一个班级,已经存在一个学生,还有另外一个班级,把一个学生从一个班级转到另外一个班级
* 3、解除班级和所有的学生之间的关系,重新建立该班级和一些新的学员之间的关系
* 4、解除班级和一些学生之间的关系
* 5、删除某一个学生
* 6、删除班级
* 删除班级的时候,解除关系
* 删除班级的时候,同时删除学生
* 7、新建一个班级,先解除一个学生和原来班级之间的关系,再建立该学生和新的班级之间的关系
*
* 前提条件:
* Classes不能维护关系
*/
@Test
public void TestMangToOneDoubleRelaes(){
Session session=sessionFactory.openSession();
Transaction transaction=session.beginTransaction();
/*Classes classes=new Classes();
classes.setCname("Icloud");
classes.setDescription("哎哟不错哦");
Student student1=new Student();
student1.setSname("dtu");
Student student2=new Student();
student2.setSname("fll");
student1.setClasses(classes);
student2.setClasses(classes);
session.save(classes);
session.save(student1);
session.save(student2);*/
// 1、解除班级和所有的学生之间的关系
/* Classes classes=(Classes) session.get(Classes.class, 1L);
Set<Student> students=classes.getStudents();
for(Student student:students){
student.setClasses(null);
}*/
// 2、已经存在一个班级,已经存在一个学生,
// 还有另外一个班级,把一个学生从一个班级转到另外一个班级
/* Classes classes1=(Classes) session.get(Classes.class, 1L);
Classes classes2=(Classes) session.get(Classes.class, 2L);
Student student=(Student) session.get(Student.class, 1L);
student.setClasses(classes2);*/
// 3、解除班级和所有的学生之间的关系,
// 重新建立该班级和一些新的学员之间的关系
/*Classes classes=(Classes) session.get(Classes.class, 2L);
Set<Student> students=classes.getStudents();
for(Student student:students){
student.setClasses(null);
}
Student student1=new Student();
student1.setSname("lmj");
Student student2=new Student();
student2.setSname("tiger");
student1.setClasses(classes);
student2.setClasses(classes);
session.save(student1);
session.save(student2);*/
// 4、解除班级和一些学生之间的关系
transaction.commit();
session.close();
}
}