hibernate级联删除
2016-03-23 21:16
288 查看
hibernate级联删除,有三个实体类,一级分类(category),二级分类(categorySecond)
文章(article),开始的想法是,想删除一级分类的同时删除二级分类,可是一直没有成
功,按照网上的做法,把cascade="delete" inverse="false"设置好,发现hibernate最好
也只能把二级分类的外键(一级分类的主键)置为null,开始我因为是先建表,把外键设置
成 了非空,苦于一直没找到解决方法,暂时把表改了,删除一级分类的时候把二级分类的
外键置为null。
重点来了,当我弄好二级分类后,我删除二级分类,确是可以级联删除文章,
于是我立即查看两者代码之间额的差异,发现我删除一级分类的时候,用的是struts的模型
驱动,那个对象里只要id,而我只是用那个id来进行删除。我删除二级分类的时候是先通过
id从数据库获取到那个对象,然后再用hibernate的delete方法直接删除,这次成功删除了。
我的映射文件配成了cascade="delete" inverse="true",这样才行,我试了把inverse
="false",发现这样又回到了开始。是把外键置为空。。。
文章(article),开始的想法是,想删除一级分类的同时删除二级分类,可是一直没有成
功,按照网上的做法,把cascade="delete" inverse="false"设置好,发现hibernate最好
也只能把二级分类的外键(一级分类的主键)置为null,开始我因为是先建表,把外键设置
成 了非空,苦于一直没找到解决方法,暂时把表改了,删除一级分类的时候把二级分类的
外键置为null。
重点来了,当我弄好二级分类后,我删除二级分类,确是可以级联删除文章,
于是我立即查看两者代码之间额的差异,发现我删除一级分类的时候,用的是struts的模型
驱动,那个对象里只要id,而我只是用那个id来进行删除。我删除二级分类的时候是先通过
id从数据库获取到那个对象,然后再用hibernate的delete方法直接删除,这次成功删除了。
我的映射文件配成了cascade="delete" inverse="true",这样才行,我试了把inverse
="false",发现这样又回到了开始。是把外键置为空。。。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树