有表capture_game与capture_time 一对多关联关系父类CaptureGame
private Set TimeSets = new HashSet(0) ; //策略详细 子类CaptureTimeprivate CaptureGame captureGame; //策略编号game.hbm.xml配置:<set name="TimeSets" inverse="true" cascade="all-delete-orphan" lazy="false">
<key>
<column name="capture_id" length="32" not-null="true"/>
</key>
<one-to-many class="com.ysh.sellSys.CaptureTime.valueobject.CaptureTime"/>
</set>time.hbm.xml 配置:<many-to-one name="captureGame" fetch="select" class="com.ysh.sellSys.captureGame.valueobject.CaptureGame">
<column name="capture_id" length="32" not-null="true"/>
</many-to-one> 为什么执行级联删除时老报错:2009-08-26 09:57:49,546 ERROR SysExceptionHandler:138 [http-8080-Processor20] - deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]; nested exception is org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]; nested exception is org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
private Set TimeSets = new HashSet(0) ; //策略详细 子类CaptureTimeprivate CaptureGame captureGame; //策略编号game.hbm.xml配置:<set name="TimeSets" inverse="true" cascade="all-delete-orphan" lazy="false">
<key>
<column name="capture_id" length="32" not-null="true"/>
</key>
<one-to-many class="com.ysh.sellSys.CaptureTime.valueobject.CaptureTime"/>
</set>time.hbm.xml 配置:<many-to-one name="captureGame" fetch="select" class="com.ysh.sellSys.captureGame.valueobject.CaptureGame">
<column name="capture_id" length="32" not-null="true"/>
</many-to-one> 为什么执行级联删除时老报错:2009-08-26 09:57:49,546 ERROR SysExceptionHandler:138 [http-8080-Processor20] - deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]; nested exception is org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]; nested exception is org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.ysh.sellSys.CaptureTime.valueobject.CaptureTime#40288182234fecae012350320d410006]
直接用程序+事务控制多好啊,一的一端inverse="true",关系维护端已经在多的一端!
建议你还是用程序写,就是多写一条hql语句
感觉hibernate的关联是不怎么好用
inverse="true"是不能动的,如果你改成false了才是错的,一对多关联都把关系维护端放在多的一端,如果放一德一端会出现很多问题。
建议你不要级联操作,用程序去代替级联操作!
<set name="TimeSets" inverse="true" cascade="all-delete-orphan" lazy="false">
<key>
<column name="capture_id" length="32" not-null="true"/>
</key>
<one-to-many class="com.ysh.sellSys.CaptureTime.valueobject.CaptureTime" cascade="delete"/>
</set>