setParameter和setParameterList的區別

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的人來說,提供了更多的選擇。

發佈了25 篇原創文章 · 獲贊 15 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章