Hibernate 4.1.11 hql删除查询与列表中的位置

时间:2013-09-30 09:20:30

标签: hibernate hql hql-delete

我想从表中删除一些具有特定ID的条目。我想知道这个请求的语法

delete from table where id in list_of_ids

在hql中。

3 个答案:

答案 0 :(得分:7)

假设您的表的id是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();

答案 1 :(得分:0)

delete from Table as table where id="value"

怎么样?

在上述情况

- Pojo类

- 数据库表名称


答案 2 :(得分:0)

使用此

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

如果list为空,请注意此语句SQL异常。