java我可以使用jpa/hibernate一次性执行批量查询吗?
下面是一个示例代码。 sourceFileItemNo和entityDplStatus是一些值的数组
Query query;
for(int i = 0 ;(sourceFileItemNo!=null && i< sourceFileItemNo.length); i++){
Object[] parameters = {entityDplStatus[i],"1",sourceFileItemNo[i]};
String queryString = "UPDATE GtcEntityDetailsValue c SET c.dplStatus=?1 where c.referenceNo=?2 and c.itemNo=?3";
query = manager.createQuery(queryString);
query = setQueryParameters(query, parameters);
query.executeUpdate();
}
在本例中,我们在每次迭代中都会更新细节。JPA是否提供了将查询添加到列表或其他内容,并像旧的连接语句execute batch一样在一次快照中执行所有查询的功能
# 1 楼答案
是的,您可以使用hibernate轻松地执行此操作,传递包含要保留的更新值的对象列表,然后执行以下操作:
向该方法提供的记录列表应包含需要更新的值