0
在Hibernate中,我試圖通過設置列表中的多個值並同時執行它來執行查詢。下面是代碼Hibernate查詢批量操作異常
public void savePriority(List<Integer> priorities,int typeid) {
String sql="update table conf_sr_type_baserule_assoc set n_priority=:priority where n_typeid=:typeid";
/*System.out.println("sql query in savePriority"+sql);*/
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
SQLQuery squery=session.createSQLQuery(sql);
tx.begin();
for(int priority:priorities){
squery.setParameter("priority", priority);
squery.setParameter("typeid", typeid);
squery.executeUpdate();
}
tx.commit();
session.close();
}
但我得到一個錯誤:
org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query
啊...查詢錯誤。非常感謝 – jcool
你試圖傳入「savePriority(列表優先級,int typeid)」的輸入類型是否可以給我示例 –
在提交之前使用getTransacton()並將你的sql查詢語法更改爲回答的語法 –