hibernate delete-orphan的问题

realx 2015-11-12 03:57:41
更新实体类,将从表的记录删除,在数据库里只是把外键设置成了空,而没有删除,cascade设置成“delete-orphan”不起作用。
hibernate一方设置如下,只设置了单向关联
<set name="workreportdetail" lazy="false" cascade="all-delete-orphan" >
<key column="PId"/>
<one-to-many class="cn.xxx.bean.Worker"/>
</set>

DAO集成spring,更新时调用这个方法:getHibernateTemplate().update(entity);
查询的时候没有用getHibernateTemplate(),而是用org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession().createQuery(hql).list(),不知道有没有关系。
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
breakin2000 2018-08-29
  • 打赏
  • 举报
回复
配置关联关系时,set inverse=true
realx 2015-12-25
  • 打赏
  • 举报
回复
再顶一下,哪个牛人给答一下啊。
realx 2015-11-18
  • 打赏
  • 举报
回复
没人答吗?再顶一下。
realx 2015-11-13
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
getHibernateTemplate().update(entity)是更新当然不会删除,用gethibernatetemplate().delete(entity)
cascade设置成“delete-orphan”,实体类中的子表以HashSet形式保存,删除该HashSet的一条记录,update实体类的时候,数据库中子表的记录不会自动删除吗? --不知道这样说能否理解。
  • 打赏
  • 举报
回复
getHibernateTemplate().update(entity)是更新当然不会删除,用gethibernatetemplate().delete(entity)
realx 2015-11-13
  • 打赏
  • 举报
回复
没人答吗?顶一下。

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧