+ -
当前位置:首页 → 问答吧 → 如何使hibernate根据外键来删除数据?

如何使hibernate根据外键来删除数据?

时间:2011-09-13

来源:互联网

我有一个Customer类和Order类,两者是一对多关系。当我删除一个Customer对象,并级联删除与Customer关联的Order对象时,控制台输出了如下sql语句:
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?
Hibernate: delete from TABLE_ORDER where id=?


要怎样配置才能让hibernate能按照如下方式级联删除与Customer关联的Order对象呢:
delete from TABLE_ORDER where customerId=?

作者: chenglix   发布时间: 2011-09-13

@OneToMany(cascade=CascadeType.ALL)
这样应该是按照你要求的那样吧。或者,你在删除之前调用一下
getXXXList().removeAll()这样的方法

作者: Fly_m   发布时间: 2011-09-13