日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在指定了數據庫表的關聯映射后,在刪除其中一方的的時候,提示了以下異常:deleted object would be re-saved by cascade (remove deleted object from associations): [entity.Associationinformation#7]

(注:entity.Associationinformation是實體類,7為設定的外鍵的值)


下面是我的多對一關聯情況:

1、實體類:

entity.Associationinformation和entity.Associationactivitylist,前者為one,后者為many。

Associationinformation.java:

public?class?Associationinformation?implements?java.io.Serializable?{ private?Integer?assoId; private?String?assoName; private?String?assoPosition; private?Integer?assoPersonNum; private?String?assoBuildDate; private?String?assoIntroduce; private?String?assoServiceObject; //一對一的社團負責人 private?Associationrespeople?assoResID; //一對多的社團活動 private?Set<Associationactivitylist>?assoActivity; //省略get/set方法 }

Associationactivitylist.java:

public?class?Associationactivitylist?implements?java.io.Serializable?{ private?Integer?activityId; private?String?activityName; private?String?activityPosition; private?Integer?activityPersonNum; private?String?activityTime; private?String?activityContent; private?Associationinformation?association; //省略get/set方法 }

2、映射文件:*.hbm.xml

Associationinformation.hbm.xml:

<hibernate-mapping><class?name="entity.Associationinformation"?table="associationinformation"?catalog="stu_association"><id?name="assoId"?type="java.lang.Integer"><column?name="AssoID"?/><generator?class="increment"?/></id><property?name="assoName"?type="java.lang.String"><column?name="AssoName"?length="20"?/></property><property?name="assoPosition"?type="java.lang.String"><column?name="AssoPosition"?length="20"?/></property><property?name="assoPersonNum"?type="java.lang.Integer"><column?name="AssoPersonNum"?/></property><property?name="assoBuildDate"?type="java.lang.String"><column?name="AssoBuildDate"?length="10"?/></property><!--??<property?name="assoResName"?type="java.lang.String"><column?name="AssoResName"?length="20"?/></property>--><property?name="assoIntroduce"?type="java.lang.String"><column?name="AssoIntroduce"?length="150"?/></property><property?name="assoServiceObject"?type="java.lang.String"><column?name="AssoServiceObject"?length="20"?/></property><!--?一對多的社團與社團活動?--><set?name="assoActivity"?table="associationactivitylist"><key?column="assoID"></key><one-to-many?class="entity.Associationactivitylist"/></set><!--?一對一的社團負責人?--><many-to-one?name="assoResID"class="entity.Associationrespeople"column="assoResID"lazy="false"cascade="all"unique="true"></many-to-one></class> </hibernate-mapping>

Associationactivitylist.hbm.xml:

<hibernate-mapping><class?name="entity.Associationactivitylist"?table="associationactivitylist"?catalog="stu_association"><id?name="activityId"?type="java.lang.Integer"><column?name="ActivityID"?/><generator?class="increment"?/></id><property?name="activityName"?type="java.lang.String"><column?name="ActivityName"?length="20"?not-null="true"?/></property><property?name="activityPosition"?type="java.lang.String"><column?name="ActivityPosition"?length="20"?not-null="true"?/></property><property?name="activityPersonNum"?type="java.lang.Integer"><column?name="ActivityPersonNum"?/></property><property?name="activityTime"?type="java.lang.String"><column?name="ActivityTime"?length="10"?not-null="true"?/></property><property?name="activityContent"?type="java.lang.String"><column?name="ActivityContent"?length="150"?/></property><!--?配置多對一關聯關系?--> <many-to-one?name="association"?class="entity.Associationinformation"?column="assoID"?cascade="all"> </many-to-one></class> </hibernate-mapping>

記得在Hibernate.cfg.xml中聲明映射文件的路徑:

<mapping?resource="entity/Associationinformation.hbm.xml"?/> <mapping?resource="entity/Associationactivitylist.hbm.xml"?/>

到這里就完成了一對多的關聯配置,然后在Action中寫Delete()方法:

public?String?deleteActivity(){ ... Transaction?tx?=?HibernateSessionFactory.getSession().beginTransaction(); assoActivityDao.delete(associationactivitylist); tx.commit(); HibernateSessionFactory.closeSession(); ... }

請注意,這樣寫的話,就會報出以上異常,如果沒有關聯關系,這樣寫是可以的。結合了網上的方法,解決方法如下:

1、刪除Set方的cascade:(缺點:子對象和父對象不能進行級聯更新,沒意義)

2、解決關聯關系后,再刪除(個人推薦):

將Action中的方法改為:

public?String?deleteActivity(){ ... Associationactivitylist?associationactivitylist?=?assoActivityDao.findById(AssoID); Associationinformation?Association?=?associationactivitylist.getAssociation(); Association.getAssoActivity().remove(associationactivitylist); associationactivitylist.setAssociation(null); Transaction?tx?=?HibernateSessionFactory.getSession().beginTransaction(); assoActivityDao.delete(associationactivitylist); tx.commit(); HibernateSessionFactory.closeSession(); ... }

分別獲取到社團和社團活動對象后,利用remove方法解除關聯管理,再將one方的值設為null。



轉載于:https://blog.51cto.com/cfdeng/1755553

總結

以上是生活随笔為你收集整理的(J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 茄子视频懂你更多在线观看 | 午夜激情免费 | 天天干夜夜添 | 青青操原 | 99国产精品视频免费观看一公开 | 日韩爽爽视频 | 一级片一级片 | 骚黄网站 | 日本不卡久久 | 天天综合网在线观看 | 亚洲精品视频国产 | 黄色成人av网站 | 99视频免费在线观看 | 九九五月天 | 青青草欧美 | av 一区二区三区 | 欧美综合激情 | 偷拍亚洲另类 | 成人a视频| 成年人小视频在线观看 | 国产喷白浆一区二区三区 | 亚洲第一av | 欧美肥老妇 | 免费色视频| 午夜一级黄色片 | 91黄色在线视频 | 日韩淫 | 麻豆av免费 | 欧美第七页 | 欧美在线观看一区二区三区 | 黑人操亚洲美女 | 日本三级视频网站 | 成人va视频 | 亚洲国产中文字幕 | 四虎成人精品永久免费av九九 | 久久精品系列 | av国产一区 | 69色堂| 久久在线免费观看 | www.av.cn| 国产激情片 | 日韩高清在线 | 成人a级网站 | 性色av一区二区三区红粉影视 | 波多野结衣中文字幕一区二区三区 | 国产综合激情 | 希岛婚前侵犯中文字幕在线 | 伊人自拍 | 一区影视 | 多男调教一女折磨高潮高h 国内毛片毛片毛片毛片毛片 | 色涩视频在线观看 | www.欧美国产 | av资源网址 | 丰满熟妇肥白一区二区在线 | 国产精品99一区二区三区 | www.我爱av| www一起操 | 久草国产视频 | 日韩人妻精品无码一区二区三区 | 日本在线网址 | 红桃视频隐藏入口 | 男人的天堂国产 | 毛片网| 国产精品第8页 | 欧美精品黑人猛交高潮 | 啪啪无遮挡 | 黄色精品视频 | 96av在线 | 国产三级黄色 | 黄瓜视频在线免费观看 | 波多野结衣视频免费看 | 亚洲精品高清视频在线观看 | 亚洲综合久久av | 黄色男同视频 | 日韩午夜| 日韩啪啪网站 | 青娱乐自拍视频 | 精品三级 | 日韩欧美一区二区三区四区五区 | 亚洲精品一区二区三区蜜桃久 | 女同性恋毛片 | 欧美激情伊人 | 深爱激情五月婷婷 | 伊人影院网 | 婷婷四房综合激情五月 | 精品色图| 少妇一级淫片免费放 | 制服诱惑一区二区三区 | 国产无码精品一区二区 | 日本不卡高清视频 | 91免费影片 | 精品综合网| 貂蝉被到爽流白浆在线观看 | 538任你躁在线精品免费 | 国产鲁鲁视频在线观看免费 | 国产精品久久久久不卡 | 国产欧美一区二区精品久久久 | 麻豆91在线| 观看av免费 |