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

论如何删除学生以及班级

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初探之一对多映射
  • 参与学习       42157    人
  • 解答问题       310    个

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

进入课程

论如何删除学生以及班级

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号