自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對Hibernate的cascade解釋

開發(fā) 后端
本文對Hibernate中設(shè)置cascade="all"所引出的一系列問題做出分析給出相關(guān)解決辦法。

Hibernate中onetomany hibernate設(shè)置cascade="all"的話,那么在進行聯(lián)機操作的時候,如果把一端設(shè)置成inverse="false",比如one的一方,那么many一方的與one一方失去關(guān)聯(lián)關(guān)系的數(shù)據(jù)不會被刪除掉,而是將關(guān)聯(lián)外鍵設(shè)置為null,出現(xiàn)了孤立的數(shù)據(jù)!解決辦法就是設(shè)置 cascade="all-delete-orphan"。然而這種簡單的設(shè)置,會出現(xiàn)問題。

org.springframework.orm.hibernate3.HibernateSystemException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: xxx.Aaa.bbbList; nested exception is org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: xxx.Aaa.bbbList
Caused by: org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: xxx.Aaa.bbbList

參考了論壇中的一些關(guān)于Hibernae中cascade的帖子,知道如下辦法可以解決:

1 在實體中把setBbbList方法設(shè)置成私有private

2 在實體中增加如下方法:

public void addBbbList(Bbb b) {
       getBbbList().add(b);
       b.setAaa(this);
}
3 設(shè)置cascade="all-delete-orphan"
4 在dao中
DAO dao= (DAO) BeanFactory.getBean("dao");
Aaa a = dao.getAaaById(id);
a.getBbbList().clear();

a.addBbbList(b1);
a.addBbbList(b2);
a.addBbbList(b3);
dao.update(a);

這樣與a關(guān)聯(lián)的b1 b2 b3會同步到數(shù)據(jù)庫,之前與a關(guān)聯(lián)的子表數(shù)據(jù)將會被自動刪除。

【編輯推薦】

  1. Hibernate中cascade和inverse的相關(guān)
  2. 關(guān)于Hibernate你必須知道的六個方面
  3. 解析Hibernate的批量刪除功能
  4. Struts與Hibernate的完美結(jié)合方案
  5. Hibernate的性能優(yōu)化
責任編輯:張攀 來源: 網(wǎng)易博客
相關(guān)推薦

2009-06-12 14:52:21

cascadeinverseHibernate

2009-09-22 09:40:03

cascade和invHibernate

2011-04-07 11:06:18

Hibernate

2009-09-23 08:56:18

Hibernate cHibernate i

2012-02-03 10:21:47

HibernateJava

2009-06-16 14:36:54

Hibernate繼承

2009-06-18 14:51:12

Hibernate緩存Hibernate

2009-09-24 12:50:23

Hibernate F

2009-09-22 13:35:04

Hibernate A

2010-04-30 16:58:14

Oracle Raw

2012-02-06 13:34:49

HibernateJava

2009-06-04 10:34:19

Hibernate一對一對多關(guān)系配置

2009-06-18 14:22:06

Hibernate多對Hibernate

2009-09-22 09:55:58

Hibernate實例

2009-06-12 15:25:38

Hibernate s

2010-04-15 09:09:02

Hibernate

2009-06-03 16:27:27

Hibernate一對一關(guān)系

2009-12-10 15:44:18

Build Web S

2009-12-07 18:26:36

WCF客戶端

2023-09-06 07:00:42

ERP企業(yè)系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號