【发布时间】:2017-05-08 13:14:01
【问题描述】:
我有一个表 issue_assigned,其中 user_id 为 Integer,问题编号为 Varchar。问题可以分配给多个用户。
现在有一个条件,如果问题先前已分配给 3 个用户,然后管理员只想将其分配给 2 个用户,系统应该删除我编写以下代码的第 3 个用户条目
String hql = "delete from issueAssigned where issueNumber=:issueNum AND assignedToUserId not in (:userIds)";
Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(hql);
query.setParameter("issueNum", issueNum);
query.setParameter("userIds", userIds);
if(query.executeUpdate() > 0){
return "success";
}else{
return "error";
}
userIds 是一个字符串,其中包含用逗号(,)分隔的 userId。执行时我得到 String cannot be cast to integer 错误。
如何保留所需用户并删除其余用户?我需要做哪些改变?
【问题讨论】: