Hibernate的HQL中in参数设置

来源:互联网 发布:mac不能给iphone充电 编辑:程序博客网 时间:2024/06/05 07:20

http://charyle.iteye.com/blog/1021356

平时经常用Hibernate,由于习惯表间不建立关联,所以HQL查询时候经常要用in语句。    我最常用的情况有2种:   1in后是个子查询,如 FROM A WHERE A.ID IN (SELECT B.AID FROM B WHERE ...),这样是没问题的,如果A.ID 和B.AID是相同的数据类型。   2in的参数如果已知了,可以直接拼接在后面 如FROM A WHERE A.ID IN (1234...)。   3、上面的情况下,通常(1234...)都是作为参数传递过来的,可能是数组或者List。    假设List<Integer> a;a里面已经有数据了,则HQL查询条件可以为:        Java代码  收藏代码String hql="FROM A WHERE A.ID IN (:alist)";  Query query = getSession().createQuery(hql);  query.setParameterList("alist", a);     另外,query.setParameterList中的第二个参数,还可以是数组类型,如int[] a,不要被方法名称迷惑。我也是最近刚学会的这种in参数设置。
0 0
原创粉丝点击