1. 程式人生 > >Hibernate中in查詢一個問題傳多個引數

Hibernate中in查詢一個問題傳多個引數

</pre><pre name="code" class="java">
public List<UnitGroup> getUnitGroupByUnitId(Integer unitId,String productId) throws Exception {
    String hql = "select o1.id from TableName o1 where o1.pId in (:pids)";
Session session = getHibernateSession();
Query query = session.createQuery(hql.toString());
if(productId.contains(",")){ String[] proIds = productId.split(","); Object[] productIds = new Object[proIds.length]; for(int i = 0 ; i < proIds.length ; i ++){ productIds[i] = Integer.parseInt(proIds[i]); } query.setParameterList("pids",productIds); } return
query.list(); }

in括號裡邊的值寫成一個變數,下邊用

query.setParameterList();

一共兩個引數,第一個引數就是in括號裡邊的引數 :pids,第二個引數就是Object[]陣列

所以寫成:

query.setParameterList("pids",productIds);