问个hibernate sqlquery 的有关问题
问个hibernate sqlquery 的问题String ids 1,2,3StringBuffer sql new StringBuffer(delete from
问个hibernate sqlquery 的问题
String ids = "1,2,3";
StringBuffer sql = new StringBuffer("delete from t_client where id in (:clientids)");
SQLQuery sqlQuery = getSession().createSQLQuery(sql.toString());
sqlQuery.setParameter("clientids", ids);
int result = sqlQuery.executeUpdate();
现在的问题是我如果sql中直接delete from t_client where id in ("+ids+")这样写就能删除3条。
但是我用setParameter设置参数只能删除1条。求原因。。。。
[解决办法]你这样写应该一条都删不了吧。
setParameter("clientids", ids);
把sql变成这样了。
delete from t_client where id in ('1,2,3');