hql动态绑定参数

  1. private Query setParameter(Query query, Map<String, Object> map) {   
  2.         if (map != null) {   
  3.             Set<String> keySet = map.keySet();   
  4.             for (String string : keySet) {   
  5.                 Object obj = map.get(string);   
  6.                 //这里考虑传入的参数是什么类型,不同类型使用的方法不同   
  7.                 if(obj instanceof Collection<?>){   
  8.                     query.setParameterList(string, (Collection<?>)obj);   
  9.                 }else if(obj instanceof Object[]){   
  10.                     query.setParameterList(string, (Object[])obj);   
  11.                 }else{   
  12.                     query.setParameter(string, obj);   
  13.                 }   
  14.             }   
  15.         }   
  16.         return query;   
  17.     } 

你可能感兴趣的:(动态绑定)