|
();
System.out.println(s.getName());
}
tran.commit();
} catch (Exception e) {
tran.rollback();
}
}
// 解除关联关系
@org.junit.Test
public void RemoveRelation() {
session = HibernateSessionFactory.getSession();
tran = session.beginTransaction();
try {
Student s = (Student) session.get(Student.class, 1l);
Teacher teacher = (Teacher) session.get(Teacher.class, 1l);
// 如果Teacher的inverse属性为false可以解除,如果为true不可以解除
teacher.getStudents().remove(s);
tran.commit();
} catch (Exception e) {
tran.rollback();
}
}
// 删除关联关系
@org.junit.Test
public void DeleteRelation() {
session = HibernateSessionFactory.getSession();
tran = session.beginTransaction();
try {
Teacher teacher = (Teacher) session.get(Teacher.class, 2l);
// 当teacher的inverse属性为false时,可以将教师信息删除,并且将中间表中相关记录删除
// 当inverse属性为true时将教师信息删除时抛出异常
session.delete(teacher);
tran.commit();
} catch (Exception e) {
tran.rollback();
}
}
}
|