setParameter和setParameterList的区别在于,使用in的时候。 Object[] params = new Integer []{1, 2}; String hqlF = "from Student where id in (?,?)" ; Query query = session.createQuery(hqlF); for ( int i = 0; i < params.length; i++) { query.setParameter(i, params[i]); } //String hqlS = "from Student where id in :valueList" ; String hqlS = "from Student where id in (:valueList)" ; Query queryS = session.createQuery(hqlS); queryS.setParameterList( "valueList" , params); 很显然,使用setParameterList代码更简单。这里也赞美下hibernate的API设计,既提供了常规繁琐的做法setParameter,也提供了简洁易用的setParameterList。这种一致性,对于熟悉和不熟悉hibernate的人来说,提供了更多的选择。 ———————————————— 版权声明:本文为CSDN博主「zhuzhuaicai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u011088260/article/details/52781071/