HQL IN 语句求教!在线等

冷俊不惊 2013-03-13 03:36:24

public boolean deleteCommodityType(int[] ids) {
// TODO Auto-generated method stub
Session session = sf.getCurrentSession();
session.createQuery("delete from commodityType ct where ct.id in (:ids)").setParameter("ids", ids).executeUpdate();
}

ids是一个int数组,网上找了一下好像是HQL语句的问题。求解!谢谢。
...全文
221 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
求知路漫漫 2013-03-15
  • 打赏
  • 举报
回复
在传递一个集合的索引集或者是元素集(elements与indices 函数) 或者传递一个子查询的结果的时候,可以使用SQL函数any, some, all, exists, in select mother from Cat as mother, Cat as kit where kit in elements(foo.kittens)
  • 打赏
  • 举报
回复
去下载源码看下
冷俊不惊 2013-03-15
  • 打赏
  • 举报
回复
引用 4 楼 fangmingshijie 的回复:
都不知道你异常是什么。
主要想知道 HQL里面 in的用法。如何把字符串 或 整型数组传进去。应该不用拼接也能实现in .
冷俊不惊 2013-03-15
  • 打赏
  • 举报
回复
引用 3 楼 qiang0322 的回复:
setParameter("ids", ids) 你的ids是数组的对象啊,如果这样的话你得到的是ids,不是ids的数组值。 楼主你遍历一下数组拼接成 符合 in (*) 里的格式就OK了。
拼接是可以,想知道,in 里面如何传一个数组进去
  • 打赏
  • 举报
回复
都不知道你异常是什么。
求知路漫漫 2013-03-13
  • 打赏
  • 举报
回复
setParameter("ids", ids) 你的ids是数组的对象啊,如果这样的话你得到的是ids,不是ids的数组值。 楼主你遍历一下数组拼接成 符合 in (*) 里的格式就OK了。
冷俊不惊 2013-03-13
  • 打赏
  • 举报
回复
和from没有关系,我把后面的 :ids换成具体数值没有问题。应该是后面ids的问题。
  • 打赏
  • 举报
回复
delete from commodityType ct where 这from很抢眼。去掉

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧