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

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

新聞中心

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

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

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

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

以下代碼直接通過delete()方法刪除一個游離對象:

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

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

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

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


當(dāng)前標(biāo)題:HibernateSession的delete()方法
當(dāng)前地址:http://m.5511xx.com/article/ccdogps.html