2013-09-30 13 views

Odpowiedz

0

Co delete from Table as table where id="value"

W powyższym przypadku

Tabela - klasa Pojo

stół - Baza Nazwa tabeli


+0

dzięki ale nie mam pojedynczą wartość Mam listę identyfikatorów Chcę usunąć cała tabela z identyfikatorem na tej liście identyfikatorów –

+0

Masz więcej niż jeden identyfikator, gdziekolwiek się pojawiłeś musisz usunąć cały rekord w prawo – kark

+0

tak, chcę, aby odpowiednik w hql tego "usunąć z tabeli, gdzie id IN (.. .) " –

0

użytkowania tego

Query qry = session.createQuery(delete from Pojo where pojo.property in (:bindParameter); 
qry.setParameter("bindParameter", list); 

Należy zwrócić uwagę na to wyrażenie SQL, jeśli lista jest pusta.

5

Zakładając id tabeli jest typu Long, prawidłowy sposób, aby wykonać kasowanie jest następujący:

List<Long> ids = new ArrayList<Long>(); 
ids.add(1L); 
ids.add(2L); 

Query q = session.createQuery("DELETE FROM YourEntityName ye WHERE ye.id IN (:list)"); 

q.setParameterList("list", ids); 
q.executeUpdate(); 
Powiązane problemy