一个简单的问题困扰了我,给大家分享一下。
hibernate中我删除一个一对多的对象,结果因为在多的一方有外键,不能删除。
所以我考虑级联,cascade,选择是ALL,结果还是不能删除,我郁闷了。
自己转了一大圈也没有解决,网上找了好久才发现,原来hibernate自动生成的表,在mysql中外键删除时的值不是cascade,所以不能级联删除。
解决办法:
更改表的属性,改为cascade就可以进行级联删除了。
如果保存表的时候保存或者不能保存,就另存一下,把原来的删除了再改回来!
希望有人会遇到这个简单的又不容易发现的细节! :D
注:我使用的是注解annotation
hibernate中我删除一个一对多的对象,结果因为在多的一方有外键,不能删除。
所以我考虑级联,cascade,选择是ALL,结果还是不能删除,我郁闷了。
自己转了一大圈也没有解决,网上找了好久才发现,原来hibernate自动生成的表,在mysql中外键删除时的值不是cascade,所以不能级联删除。
解决办法:
更改表的属性,改为cascade就可以进行级联删除了。
如果保存表的时候保存或者不能保存,就另存一下,把原来的删除了再改回来!
希望有人会遇到这个简单的又不容易发现的细节! :D
注:我使用的是注解annotation