--->>>请问hibernate里面的hql not in 带参数怎么写?

xwj1003 2008-07-03 09:13:55
例如

"select * from user where id not in ?"



能这样写吗?
“?”应该是什么类型的。
String 还是 数组?
...全文
5481 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gefeiabc 2011-06-08
  • 打赏
  • 举报
回复
这是用命名查询的方式做的。参数是一个Integer[]数组。我想不用命名查询的方式,也是需要传入一个整型数组的。
private Integer[] par_planids = new Integer[100] ;//数组长度是100
org.hibernate.Query query = session.getNamedQuery("com.bjcx.project.material.service.bean.ApplistMaterialInfoBeanQuery");
query.setParameterList("par_planids", par_planids);
sxhongzhi 2011-01-05
  • 打赏
  • 举报
回复
我碰到了问题差不多。。。报 could not resolve property: tid of: 不知怎解决??
select * from BdTender t
where 1=1 and t.state='17' and t.tid not in
(select j.tid from BdJoinway j where j.clientId=? and j.type=0 ) and t.inviteType='公开招标';
lyf_sust 2008-11-16
  • 打赏
  • 举报
回复
mark
a1405 2008-11-16
  • 打赏
  • 举报
回复
应该是个Object的数组
dengjun55 2008-07-03
  • 打赏
  • 举报
回复
Qurey query=....;
query.set你传入参数的类型(setInt。。。。)(int,你传入参数的类型);
int为问号的个数,从0开始

public void add(String name){
Qurey query=session.getSession();
String hql="select * from user where id not in ?"";
query.setString(0,name);
}

参数不是固定的建议用QBC来查
NK_HansWang 2008-07-03
  • 打赏
  • 举报
回复

public List getUser(){

List paramList = new ArrayList();
paramList.add(arg1);
paramList.add(arg2);
……

Session session = this.getSession();
Criteria criteria = session.createCriteria(User.class, "user");
criteria.add(Restrictions.not(Restrictions.in("user.id", paramList)));

return criteria.list();
}
NK_HansWang 2008-07-03
  • 打赏
  • 举报
回复


public List getUser(){
String sql = "select * from user where id not in ?";

Session session = this.getSession();
Criteria criteria = session.createCriteria(User.class);

List paramList = new ArrayList();
Object[] paramArray = new Object[]{};
List typeList = new ArrayList();
Type[] typeArray = new Type[]{};

paramList.add(arg1);//把你的参数加到paramList
typeList.add(Hibernate.STRING);//把你的参数类型加到typeList,我这里加的是字符串

paramList.add(arg2);//把你的参数加到paramList
typeList.add(Hibernate.STRING);//把你的参数类型加到typeList,我这里加的是字符串

……


criteria.add(Restrictions.sqlRestriction(sql, paramList.toArray(paramArray),typeList.toArray(typeArray)));

return criteria.list();
}
zybzhen 2008-07-03
  • 打赏
  • 举报
回复
from Users where Id not in (:arg1,:arg2,:arg3,:arg4,...,argn)

然后给arg1,arg2,arg3,arg4,...,argn 赋值
xwj1003 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zidasine 的回复:]
应该是一个 (arg0,arg1,arg2,...)这种形式
[/Quote]

问题是 参数个数不是固定的
zidasine 2008-07-03
  • 打赏
  • 举报
回复
应该是一个 (arg0,arg1,arg2,...)这种形式

67,513

社区成员

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

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