社区
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();
但是出错了,望各位大侠指点迷津阿!!
...全文
329
18
打赏
收藏
Hibernate的级联删除怎么搞??救命阿!!!
现在是A-》B是一对多的关系,现在要删除A的时候,B也要把相关的同时删除, 也就是级联,我写的代码是: Session session = this.getSession(); A a= (A)session.load(A.class,id); session.delete(a); session.flush(); 但是出错了,望各位大侠指点迷津阿!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
面试题(一)
hibernate
configuration SessionFactory 两个类作用?或者更多!configuration :加载配置文件 sessionFactory :管理session Configuration 接口:配置
Hibernate
,根据其启动
hibernate
,创建 SessionFactory 对象; SessionFactory 接口:初始化
Hibernate
,充...
hibernate
必须知道的知识
Hibernate
经典知识: 1、
Hibernate
工作原理及为什么要用? 1. 答:
hibernate
,通过对jdbc进行封装,对 java类和关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作. 1.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
hibernate
的性能非常好,...
Hibernate
的面试题
* 比较
Hibernate
的三种检索策略优缺点 1立即检索; 优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象; 缺点:1.select语句太多;2.可能会加载应用程序不需要访问的对象白白浪费许多内存空间; 2延迟检索: 优点:由应用程序决定需要加载哪些对象,可以避免可执行多余的select语句,以及避免加载应用程序不需
hibernate
学习
hibernate
面试题 分类: 面试2012-02-22 17:19 1780人阅读 评论(0) 收藏 举报
hibernate
面试数据库strutsspringsession * 比较
Hibernate
的三种检索策略优缺点 1立即检索; 优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象;
JAVA-WEB
Hibernate
面试整理
Hibernate
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章