code: public <T> int deleteBatch(T... entities) {
          if(entities.length == 0){
              return 0;
          }
  
          List<PropertyDesc[]> paramsList = new ArrayList<>();
          String executeSql = null;
  
          for(Object entity: entities){
              List<PropertyDesc> propDescs = new ArrayList<>();
              String sql = MirageUtil.buildDeleteSql(null, beanDescFactory, entityOperator, entity, nameConverter, propDescs);
  
              if(executeSql == null){
                  executeSql = sql;
  
              } else if(!sql.equals(executeSql)){
                  throw new IllegalArgumentException("A different entity is contained in the entity list.");
              }
  
              paramsList.add(propDescs.toArray(new PropertyDesc[propDescs.size()]));
          }
  
          return sqlExecutor.executeBatchUpdateSql(executeSql, paramsList, entities);
      }
docs: {@inheritDoc}