|
@@ -386,20 +386,24 @@ public class AlarmRecordService extends AlarmBaseService {
|
|
|
em.persist(alarmRecord);
|
|
|
idDeleteList.remove(alarmRecord.getId());
|
|
|
}
|
|
|
- sb.setLength(0);
|
|
|
- sb.append("DELETE FROM alarm_record WHERE id IN (:ids)");
|
|
|
- int pageSize = 1000;
|
|
|
+ int pageSize = 500;
|
|
|
if (idDeleteList.size() > pageSize) {
|
|
|
while (idDeleteList.size() > pageSize) {
|
|
|
List<String> ids = idDeleteList.subList(0, pageSize);
|
|
|
+ String idsString = "'"+StringUtils.collectionToDelimitedString(ids,"','")+"'";
|
|
|
+ sb.setLength(0);
|
|
|
+ sb.append(" DELETE FROM alarm_record WHERE id IN (").append(idsString).append(")");
|
|
|
+ log.info("sql {}",sb.toString());
|
|
|
query = em.createNativeQuery(sb.toString(), AlarmRecord.class);
|
|
|
- query.setParameter("ids", ids);
|
|
|
query.executeUpdate();
|
|
|
idDeleteList.removeAll(ids);
|
|
|
}
|
|
|
}
|
|
|
+ sb.setLength(0);
|
|
|
+ String idsString = "'"+StringUtils.collectionToDelimitedString(idDeleteList,"','")+"'";
|
|
|
+ sb.append(" DELETE FROM alarm_record WHERE id IN (").append(idsString).append(")");
|
|
|
+ log.info("sql {}",sb.toString());
|
|
|
query = em.createNativeQuery(sb.toString(), AlarmRecord.class);
|
|
|
- query.setParameter("ids", idDeleteList);
|
|
|
query.executeUpdate();
|
|
|
tx.commit();
|
|
|
sb.setLength(0);
|