Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r40492 -r40865 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 40492) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 40865) @@ -706,7 +706,8 @@ ids.add(invoice.getId()); } String hql = "update Invoice po set po.receiptor=?,po.receiptingTime=?,po.status=?,po.signStatus=?,signRecordId=?"; - String where = SqlBuilder.build_number_IN_Statement("id",SqlBuilder.IN, ids); + //String where = SqlBuilder.build_number_IN_Statement("id",SqlBuilder.IN, ids);//子查询数量超过1000时会报错,对应修改为下一行的方法 + String where = SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id",ids); //Date date = new Date(); hql = String.format("%s where %s", hql,where); Object[] params = new Object[]{receiver,date,Invoice.STATUS_SIGNED,Invoice.SIGNSTATUS_SIGNED,signRecordId};