今天在做项目时,需要删除一个对象,由于关联关系是一对多和多对一的关系,于是在代码中需要删除多的一方的对象时出现了
deleted object would be re-saved by cascade (remove deleted object from associations)异常,在各种google、百度后,发现网上大致有几种方法解决这个问题:
方法1 删除Set方的cascade:(缺点:子对象和父对象不能进行级联更新,没意义)
方法2 在many-to-one方增加cascade 但值不能是none (缺点:子对象也级联到父对象,删除子对象会将父对象一并删除,也不可取)
方法3(亲测成功,而且很方便),先看下面代码:
Order order = getHibernateTemplate().get(Order.class, id); order.getCustormer().getOrders().remove(order); order.setCustormer(null); getHibernateTemplate().delete(order);
order是多的那一方,如果要删除一个order对象,直接调用getHibernateTemplate().delete(order)方法肯定就会报开头那个对象
为了解决这个问题,就可以先得到与该order对象对应的一的那一方(即customer对象),然后先将该order对象从customer对象中删除,并且将该order对象的customer对象设置为null,这样再执行删除时就不会出现那个异常了。
参考:http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/02/2940290.html#3186025
相关推荐
Exploring the location of object deleted by seam-carving
30)..Fixed: Leak of EurekaLog exception information object 31)..Fixed: Wrong chaining exceptions inside GetMem/FreeMem 32)..Fixed: Memory leak after low-level unhook of function 33)..Fixed: Re-...
Alfresco删除的内容商店清洁程序 该加载项提供了一项工作,以删除“已删除的内容存储”中的废弃文件。 从Alfresco 5.2(201707 GA)开始,已提供开箱即用的Trashcan Cleaner作业,尽管默认情况下是禁用的。 这项...
命令时,这两个虚拟表分别记录的内容如下: sql命令 deleted inserted --------------------------------------------------- insert [不可用] 新插入的记录 update 被更新前的记录 被更新后的记录 delete ...
that would be deleted. No note is added if a file is not supposed to be removed by Symantec Uninstaller. -f Do not show files as they are removed. If -f is not specified, file names are shown as ...
react 脚手架的安装方法 安装的方法都与个人的使用习惯相关,以下就介绍两种使用较多的 node环境下 方法一: 全局安装 npm install create-react-app -g 还可以查看版本号 create-react-app -V ...
SQLite-Deleted-Records-Parser, 在SQLite数据库中,用于恢复已经删除项目的脚本 SQLite解析器在SQLite数据库中恢复删除条目并将输出放入TSV文件或者文本文件( R ) 中的脚本sqlparse.py的###Usagesqlparse.py -f/...
通过此代码,查看微信被删好友
{****************************************************************************** * * ... Gets an indexed child object of the designated object. Parameters: In: inRef - The reference...
To be deleted. How to delete this file?
*DELETED**DELETED**DELETED*
Dont Download, it will be deleted
Multiply deleted [E1, polymerase-, and pTP-] adenovirus vector persists despite deletion of the preterminal protein RESEARCH ARTICLE Multiply deleted [E1, polymerase-, and pTP-] adenovirus vector ...
刚开始学习数据库操作,今天存数据时发现,保存的时候报错(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1) ,之后就搜索了下原因,是因为MySQL存日期时不允许出现这种格式...
- ADD: Add TFlexPanel.InvalidateControl virtual method which calls from TFlexControl.Invalidate and can be overriden (it is possible now to catch all object invalidation calls). - FIX: The TFlexPanel....
安卓 扫雷源码 添加重新开始按钮支持 Android studio =========================...(This import summary is for your information only, and can be deleted after import once you are satisfied with the results.)
- Improvement: TLinkedComponent => added FObject (TObject) property. - Improvement: TLinkedComponent => added protected methods (SetProperty) to generalize change into properties to avoid duplicate ...
variety of information can be saved for future reference. Simultaneous Analysis or Defragmentation Operations --------------------------------------------------- You can analyze and/or defragment ...
删除。 到晚上查了一下,发现可以用两种办法 触发器方式: create trigger trg_A on A for update,delete as begin if exists(select 1 from inserted) update B set Name=(select Name from inserted) where ...