Hibernate中in查詢一個問題傳多個引數
阿新 • • 發佈:2019-02-05
</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); } returnquery.list(); }
in括號裡邊的值寫成一個變數,下邊用
query.setParameterList();
一共兩個引數,第一個引數就是in括號裡邊的引數 :pids,第二個引數就是Object[]陣列
所以寫成:
query.setParameterList("pids",productIds);