社区
Java EE
帖子详情
Hibernate的级联删除怎么搞??救命阿!!!
fengyun1314
2005-03-31 11:21:30
现在是A-》B是一对多的关系,现在要删除A的时候,B也要把相关的同时删除,
也就是级联,我写的代码是:
Session session = this.getSession();
A a= (A)session.load(A.class,id);
session.delete(a);
session.flush();
但是出错了,望各位大侠指点迷津阿!!
...全文
371
18
打赏
收藏
Hibernate的级联删除怎么搞??救命阿!!!
现在是A-》B是一对多的关系,现在要删除A的时候,B也要把相关的同时删除, 也就是级联,我写的代码是: Session session = this.getSession(); A a= (A)session.load(A.class,id); session.delete(a); session.flush(); 但是出错了,望各位大侠指点迷津阿!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dakuntk
2005-04-04
打赏
举报
回复
<set
name="as"
lazy="true"
inverse="false"
cascade="all"
>
中的name要在哪里定义阿??
你的PO名字,比如Workgroup类下面的user属性,name=user
inverse=“true”吧
fengyun1314
2005-04-04
打赏
举报
回复
各位大哥帮帮忙阿
fengyun1314
2005-04-04
打赏
举报
回复
执行删除的时候出现这样的错误:
SQL Error: 1407, SQLState: 72000
ORA-01407: cannot update ("B"."ID") to NULL
这个是什么错误??
goodcool
2005-04-03
打赏
举报
回复
楼主很执着
佩服
小弟最近做毕业设计 正用上这东东 还在一头雾水
fengyun1314
2005-04-02
打赏
举报
回复
<set
name="as"
lazy="true"
inverse="false"
cascade="all"
>
中的name要在哪里定义阿??
fengyun1314
2005-04-02
打赏
举报
回复
没有人帮帮我嘛?
fengyun1314
2005-04-02
打赏
举报
回复
如果我要删除A的时候把A-》B-》C中的,B和C都要删除,那么
<set
name="as"
lazy="true"
inverse="false"
cascade="all"
>
要设置在哪个地方??
楼上的那个b.getSet().remove(a);中的b是代表什么??
discolt
2005-04-01
打赏
举报
回复
这样删
<set
name="as"
lazy="true"
inverse="false"
cascade="all"
>
b.getSet().remove(a);
session.remove(a);
jianghuxing
2005-03-31
打赏
举报
回复
cascade="delete"
把你的hbm贴出来。然后看看你的数据库中没有没有设。
legendtw
2005-03-31
打赏
举报
回复
cascade="all"
fengyun1314
2005-03-31
打赏
举报
回复
怎么没有回答我阿!!
fengyun1314
2005-03-31
打赏
举报
回复
出现的错误是:
SQL Error: 2292, SQLState: 23000
ORA-02292: integrity constraint (EYODO.MOC_MPG_FK) violated - child record found
为什么会这样的
在声明中我是这样设置的
likeBean
2005-03-31
打赏
举报
回复
出什么错?
在a中声名
<set
name="as"
lazy="true"
inverse="true"
cascade="delete"
>
<key
column="aid"
>
</key>
<one-to-many
class="A"
/>
</set>
就可以了
jianghuxing
2005-03-31
打赏
举报
回复
你给对应的数据库字段所起的名字,将来在用HQL的时候要用到。
也就是你在PO是的属性名。与关系数据库中的字段对应。
fengyun1314
2005-03-31
打赏
举报
回复
要在B中声明用<set
name="as"
lazy="true"
inverse="true"
cascade="delete"
>
那么里面的name是写什么?
java_ak47
2005-03-31
打赏
举报
回复
学习,关注ing
jianghuxing
2005-03-31
打赏
举报
回复
<set
name="as"
lazy="true"
inverse="true"
cascade="delete" ////要在B中也有的
>
<key
column="aid"
>
</key>
<one-to-many
class="A"
/>
</set>
那么你在B的hbm文件中也要有级联删除,这样才能成功
fengyun1314
2005-03-31
打赏
举报
回复
我要删除的是A,并且也要把B删除,A和B是一对多的关系,并且B-》C,B和C也是一对多的关系,也要删除C,如果C中没有和B有相关的数据的话,那删除A就可以同时删除B了,但是如果C中有和B相关的数据,那删除A的时候就出错了,为什么会这样的,要怎么做?
删除级联
hibernate
级联删除
本文详细解释了
级联删除
的不同选项,如oad、delete、all-delete-orphan等,并通过具体示例说明了它们如何应用于
Hibernate
中的一对多关系。此外,还讨论了在不同情况下
级联删除
的行为差异。
Hibernate
实现
级联删除
本文介绍如何在
Hibernate
中实现
级联删除
功能,通过配置文件详细展示了新闻类型与新闻之间的
级联删除
过程,包括数据库表设计、POJO映射及DAO层实现。
hibernate
级联删除
本文详细解析了数据库中外键约束与
级联删除
的概念、原理及实现方式,包括通过增加外键约束时的
级联删除
选项、使用触发器在删除前清理相关记录,以及在
Hibernate
框架下如何通过配置cascade属性来简化级联操作,避免常见的异常情况。
Hibernate
的“
级联删除
”:慎用!慎用!
本文详细解析了
Hibernate
级联删除
的原理与风险,包括数据一致性、性能及隐式删除等问题。针对常见问题如
级联删除
失效、外键冲突等提供了具体解决方案,并强调了最佳实践和配置注意事项。文章还给出了代码示例,帮助开发者合理使用
级联删除
功能。
Hibernate
中配置
级联删除
本文介绍了如何在
Hibernate
中实现
级联删除
功能。首先,通过在SQL建表语句中添加ON DELETE CASCADE约束,确保当父表记录被删除时,子表的相关记录也会被删除。接着,详细说明了在
Hibernate
映射文件中配置cascade属性以启用级联操作的步骤。
Java EE
67,536
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章