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

關(guān)于Hibernate級聯(lián)刪除的問題

開發(fā) 后端
Hibernate級聯(lián)刪除,tenyo ,刪除某一條數(shù)據(jù),則其子表的所有級聯(lián)數(shù)據(jù)全部自動刪除。這樣的需求在Hibernate里可以使用cascade簡單地加以實現(xiàn)。本文將就Hibernate級聯(lián)刪除的問題舉例進(jìn)行說明。

Hibernate級聯(lián)刪除,tenyo ,刪除某一條數(shù)據(jù),則其子表的所有級聯(lián)數(shù)據(jù)全部自動刪除。這樣的需求在Hibernate里可以使用cascade簡單地加以實現(xiàn)。下面就Hibernate級聯(lián)刪除的問題舉例進(jìn)行說明。

比如有下面四個表:

  1. A(id, name)   
  2. AA(id, name, a_id)   
  3. B(id, name, a_id)   
  4. BB(id, name, b_id)  

假設(shè)它們之間的關(guān)系是:

  1. A:AA=one-to-many   
  2. A:B=one-to-one(外鍵定義one-to-one關(guān)系)   
  3. B:BBone-to-many  

A.hbm.xml

  1. …   
  2. <set name="aaSet" lazy="true" inverse="true"   
  3.         cascade="all-delete-orphan">   
  4.     <key column="A_ID" not-null="true" />   
  5.     <one-to-many class="AA" />   
  6. </set>   
  7. <one-to-one name="b"   
  8.     class="B"   
  9.     property-ref="aid"></one-to-one>   
  10. …  

B.hbm.xml

  1. <set name="bbSet" lazy="true" inverse="true"   
  2.         cascade="all-delete-orphan" >   
  3.     <key column="B_ID" not-null="true" />   
  4.     <one-to-many class="BB" />   
  5. </set>  

代碼:

  1. a = …;   
  2. session.getTransaction().begin();   
  3. session.delete(a);   
  4. session.getTransaction().commit();  

這樣,就會把AA,B,BB里相關(guān)數(shù)據(jù)自動刪除。

說明:
 
設(shè)置Hibernate級聯(lián)刪除,只需:
 
1.在父端的one-to-one/many-to-one關(guān)系:設(shè)置cascade=”delete”或cascade=”all”。

2.在父端的one-to-many關(guān)系(map, set, list, bag):設(shè)置cascade=”all-delete-orphan”或cascade=”all”。
即可。

 

【編輯推薦】

  1. 初學(xué)者適用的Hibernate學(xué)習(xí)方法
  2. Hibernate實戰(zhàn)(第2版)讀書筆記
  3. Hibernate一對多關(guān)系的處理
  4. 十五道Hibernate面試題及答案
  5. Hibernate的性能優(yōu)化
責(zé)任編輯:仲衡 來源: JavaEye技術(shù)網(wǎng)站
相關(guān)推薦

2009-06-04 10:58:15

strutshibernate分頁

2009-09-27 10:10:47

Hibernate處理

2010-10-22 17:33:02

2010-07-15 10:48:48

SQL Server2

2010-09-02 09:45:07

SQL刪除

2010-11-10 11:47:35

SQL Server級

2014-05-06 09:44:54

MySQL LogsMySQL

2009-06-02 17:18:10

hibernate框架簡介

2009-09-15 14:52:15

linq級聯(lián)刪除

2009-06-03 10:02:53

Hibernate批量刪除

2010-11-10 11:51:04

SQL SERVER級

2009-09-24 13:45:53

Hibernate性能

2009-06-02 15:30:35

Hibernate面試筆試題

2009-07-15 09:30:00

ibatis級聯(lián)

2010-04-23 15:44:29

Oracle 外鍵

2010-05-25 15:32:39

MySQL 中文問題

2009-06-25 16:45:31

Hibernate

2009-06-18 10:53:52

Hibernate3.

2011-09-13 10:25:05

數(shù)據(jù)庫點滴

2010-09-01 16:40:00

SQL刪除觸發(fā)器
點贊
收藏

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