为了账号安全,请及时绑定邮箱和手机立即绑定

论如何删除学生以及班级

public static void select3(){

Session session=HibernateUtil.getSession();

Transaction tx=session.beginTransaction();

Grade g=(Grade) session.get(Grade.class,1);

 

  Set<Student> students=g.getStudents();

  Iterator<Student> it=students.iterator();

  while(it.hasNext()){

  Student st=it.next();

  it.remove();

  }

  session.delete(g);

  tx.commit();

  HibernateUtil.closeSession(session);

}

为什么这个方法运行出来只能删除班级   貌似是因为没有提交删除学生的记录 

如何改

正在回答

1 回答

public static void select3(){
Session session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
Grade g=(Grade) session.get(Grade.class,1);
 
 	Set<Student> students=g.getStudents();
 	Iterator<Student> it=students.iterator();
 	while(it.hasNext()){
 	Student st=it.next();
 	//直接把这个对象delete(),亲测有效
 	session.delete(st);
 	it.remove();
 	}
 	session.delete(g);
 	tx.commit();
 	HibernateUtil.closeSession(session);
}


0 回复 有任何疑惑可以回复我~
#1

丶子非鱼 提问者

非常感谢!
2017-04-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Hibernate初探之一对多映射
  • 参与学习       42171    人
  • 解答问题       295    个

Hibernate中一对多关联映射配置,以及cascade和inverse属性作用

进入课程

论如何删除学生以及班级

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信