在通用 DAO 中获取当前对象 ID。休眠
Posted
技术标签:
【中文标题】在通用 DAO 中获取当前对象 ID。休眠【英文标题】:Get current object ID in Generic DAO. Hibernate 【发布时间】:2013-11-10 18:14:36 【问题描述】:我想在 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
的实体上使用此方法,并且无法将此方法提取到通用 DAO?
【问题讨论】:
【参考方案1】:假设id
在您的休眠实体中可用,您需要更改
setParameter("ids", ids)
到
setParameterList("ids", ids)
【讨论】:
以上是关于在通用 DAO 中获取当前对象 ID。休眠的主要内容,如果未能解决你的问题,请参考以下文章
通用 DAO 如何为所有不同的 DAO 实现返回相同的类型?