首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

spring的hibernateTemplate中hql怎么使用in

2013-03-01 
spring的hibernateTemplate中hql如何使用inspring的hibernateTemplate中hql如何使用in??Object[] piid p

spring的hibernateTemplate中hql如何使用in
spring的hibernateTemplate中hql如何使用in??


Object[] piid = processInstanceIds.toArray();
return hibernateTemplate.find("select d from Document d where d.processInstanceId in (?)",piid)

我这样用报错提示:

Remember that ordinal parameters are 1-based!

查了下说明是:hql语句里不需要参数,应该是把 in(?) 中的?当字符串解释了.
[解决办法]
用这个吧


return getHibernateTemplate().execute(new HibernateCallback<List<Brand>>() {
  @SuppressWarnings("unchecked")
  @Override
  public List<Brand> doInHibernate(Session session)
  throws HibernateException, SQLException {
return session.createQuery("select distinct o.brand from ProductInfo o where o.productType.id in(:typeids)")
     .setParameterList("typeids", typeids)//typeids为集合对象,如果是数组可以自己转下Arrays.asList();
     .list();
}
});

热点排行