我想在Hibernate Generic Dao实现中通过ID删除所有对象。
现在我创建了这样的方法:
@Override
public void deleteByIds(Collection<Serializable> ids) {
getSession()
.createQuery("delete from " + getDomainClass() + " where id in (:ids)")
.setParameter("ids", ids)
.executeUpdate();
}
但查询中的id
属性未定义。这意味着我只能在使用@NamedQueries
的实体上使用此方法,并且无法将此方法提取到Generic DAO?
答案 0 :(得分:0)
假设您的hibernate实体中有id
,您需要更改
setParameter("ids", ids)
到
setParameterList("ids", ids)