hibernate级联删除,有三个实体类,一级分类(category),二级分类(categorySecond)
文章(article),开始的想法是,想删除一级分类的同时删除二级分类,可是一直没有成
功,按照网上的做法,把cascade="delete" inverse="false"设置好,发现hibernate最好
也只能把二级分类的外键(一级分类的主键)置为null,开始我因为是先建表,把外键设置
成 了非空,苦于一直没找到解决方法,暂时把表改了,删除一级分类的时候把二级分类的
外键置为null。
重点来了,当我弄好二级分类后,我删除二级分类,确是可以级联删除文章,
于是我立即查看两者代码之间额的差异,发现我删除一级分类的时候,用的是struts的模型
驱动,那个对象里只要id,而我只是用那个id来进行删除。我删除二级分类的时候是先通过
id从数据库获取到那个对象,然后再用hibernate的delete方法直接删除,这次成功删除了。
我的映射文件配成了cascade="delete" inverse="true",这样才行,我试了把inverse
="false",发现这样又回到了开始。是把外键置为空。。。
网友评论