2013-10-25 55 views
2

我正在使用Hibernate從表中刪除記錄,但是這給了一個例外,誰能知道如何克服以下查詢中的這個問題?如何在休眠中使用刪除查詢

Session ses = HibernateUtil.getSessionFactory().openSession(); 
     Transaction tx = ses.beginTransaction(); 
     Query q = ses.createQuery("from RegisterPojo where email =:email"); 
     q.setParameter("email", sl_no); 
     RegisterPojo pojo = (RegisterPojo) q.list().get(0); 
     ses.delete(pojo); 
     tx.commit(); 
     ses.close(); 
+1

你得到了什麼異常? –

+0

什麼是例外?共享堆棧跟蹤。 –

回答

2

爲什麼不呢?

Query q = ses.createQuery("delete from RegisterPojo where email =:email"); 
q.setParameter("email", sl_no); 
q.executeUpdate(); 

瞭解HQL

繼續之前,請了解更多有關HQL。這減少了大量的代碼。

+0

對於hibernate來說很新,是寫入方式嗎?使用 – user2838630

+0

是的,你可以。請參閱更新後的文章 –

+0

@ user2838630請注意,此解決方案將刪除您正在刪除的第一個代碼中的所有實例'where email =:email',... – Paolo