diff --git a/jOOQ/src/main/java/org/jooq/impl/DAOImpl.java b/jOOQ/src/main/java/org/jooq/impl/DAOImpl.java index 39ebba5071..bef6086663 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DAOImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DAOImpl.java @@ -199,13 +199,16 @@ public abstract class DAOImpl, P, T> implements DAO @Override public /* non-final */ void delete(Collection

objects) { - List ids = new ArrayList(); - for (P object : objects) { - ids.add(getId(object)); + // Execute a batch DELETE + if (objects.size() > 1) { + using(configuration).batchDelete(records(objects, true)).execute(); } - deleteById(ids); + // Execute a regular DELETE + else if (objects.size() == 1) { + records(objects, true).get(0).delete(); + } } @SuppressWarnings("unchecked")