日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
HibernateSession的delete()方法

delete()方法用于從數(shù)據(jù)庫(kù)中刪除與Java對(duì)象對(duì)應(yīng)的記錄。如果傳入的參數(shù)是持久化對(duì)象,Session就計(jì)劃執(zhí)行一個(gè)delete語(yǔ)句。如果傳入的參數(shù)是游離對(duì)象,先使游離對(duì)象被Session關(guān)聯(lián),使它變?yōu)槌志没瘜?duì)象,然后計(jì)劃執(zhí)行一個(gè)delete語(yǔ)句。值得注意的是,Session只有在清理緩存的時(shí)候的才執(zhí)行delete語(yǔ)句。此外,只有當(dāng)調(diào)用Session的close()方法時(shí),才會(huì)從Session的緩存中刪除該對(duì)象。

例如以下代碼先加載一個(gè)持久化對(duì)象,然后通過(guò)delete()方法將它刪除:

 
 
 
  1. Session session1 = sessionFactory.openSession();  
  2.  
  3. Transaction tx1 = session1.beginTransaction();  
  4.  
  5. // 先加載一個(gè)持久化對(duì)象  
  6.  
  7. Customer customer = (Customer)session.get(Customer.class, new Long(1));  
  8.  
  9. session.delete(customer); // 計(jì)劃執(zhí)行一個(gè)delete語(yǔ)句  
  10.  
  11. txt1.commit(); // 清理緩存,執(zhí)行delete語(yǔ)句  
  12.  
  13. session.close();子// 從緩存中刪除Customer對(duì)象  

以下代碼直接通過(guò)delete()方法刪除一個(gè)游離對(duì)象:

 
 
 
  1. Session session2 = sessionFactory.openSession();  
  2.  
  3. Transaction tx2 = session1.beginTransaction();  
  4.  
  5. // 假定customer是一個(gè)游離對(duì)象,先使它被Session關(guān)聯(lián),使它變?yōu)槌志没瘜?duì)象,  
  6.  
  7. // 然后計(jì)劃執(zhí)行一個(gè)delete語(yǔ)句  
  8.  
  9. session2.delete(customer);  
  10.  
  11. tx2.commit(); // 清理緩存,執(zhí)行delete語(yǔ)句  
  12.  
  13. session2.close(); // 從緩存中刪除customer對(duì)象  

如果希望刪除多個(gè)對(duì)象,可以使用另一種重載形式的delete()方法:

 
 
 
  1. session.delete("from Customer as c where c.id>8"); 

以上delete()方法的參數(shù)為HQL查詢語(yǔ)句,delete()方法將從數(shù)據(jù)庫(kù)中刪除所有滿足查詢條件的記錄。


文章標(biāo)題:HibernateSession的delete()方法
網(wǎng)頁(yè)地址:http://www.5511xx.com/article/ccdogps.html