diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java index 9afb58e..24e167a 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java @@ -339,12 +339,12 @@ public abstract class AbstractCRUDDAO public static final String EX_UUID = "__exclude_uuid__"; - private int bulkDelete(String field, Object value, boolean notUuid) { - final var params = new HashMap(); + private int bulkDelete(@NonNull final String field, @Nullable final Object value, final boolean notUuid) { + if (value == null) return bulkDeleteWhere(field + " IS NULL"); - if (value == null) return bulkDeleteWhere(field + " IS NULL", params); String condition = field + " = :" + field; + final HashMap params = new HashMap<>(); params.put(field, value); if (notUuid) { @@ -355,6 +355,10 @@ public abstract class AbstractCRUDDAO return bulkDeleteWhere(condition, params); } + public int bulkDeleteWhere(@NonNull final String whereClause) { + return bulkDeleteWhere(whereClause, new HashMap<>()); + } + public int bulkDeleteWhere(@NonNull final String whereClause, @NonNull final Map parameters) { final Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); final String deleteSql = "DELETE FROM " + getEntityClass().getSimpleName() + " WHERE " + whereClause;