2013-09-30 2 views

ответ

0

насчет delete from Table as table where id="value"

В вышеописанном случае

Таблица - Pojo класс

таблица - База данных имя таблицы


+0

спасибо, но я не имею одно значение У меня есть список идентификаторов я хочу удалить вся таблица с идентификатором в этом списке идентификаторов –

+0

Итак, у вас есть несколько идентификаторов, где бы они ни возникали, вам нужно удалить всю запись справа – kark

+0

да, я хочу, чтобы эквивалент в hql этого «удалить из таблицы, где id IN (.. .) " –

0

Используйте этот

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

Обратите внимание на эту инструкцию Исключение SQL, если список пуст.

5

Предполагая, что идентификатор вашей таблицы типа Long, правильный способ выполнения удаления заключается в следующем:

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();