Browse Source

Set bulkDelete's parameters to be non null

pull/12/head
Kristijan Mitrovic 4 years ago
parent
commit
04683a86d8
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java

+ 3
- 3
wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractCRUDDAO.java View File

@@ -341,7 +341,7 @@ public abstract class AbstractCRUDDAO<E extends Identifiable>
public static final String EX_UUID = "__exclude_uuid__"; public static final String EX_UUID = "__exclude_uuid__";


private int bulkDelete(String field, Object value, boolean notUuid) { private int bulkDelete(String field, Object value, boolean notUuid) {
if (value == null) return bulkDeleteWhere(field + " IS NULL", null);
if (value == null) return bulkDeleteWhere(field + " IS NULL", new HashMap<>());


if (notUuid) { if (notUuid) {
final var params = new HashMap<String, Object>(); final var params = new HashMap<String, Object>();
@@ -353,11 +353,11 @@ public abstract class AbstractCRUDDAO<E extends Identifiable>
return bulkDeleteWhere(field + " = :" + field, new SingletonMap(field, value)); return bulkDeleteWhere(field + " = :" + field, new SingletonMap(field, value));
} }


public int bulkDeleteWhere(@NonNull final String whereClause, @Nullable final Map<String, Object> parameters) {
public int bulkDeleteWhere(@NonNull final String whereClause, @NonNull final Map<String, Object> parameters) {
final Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); final Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
final String deleteSql = "DELETE FROM " + getEntityClass().getSimpleName() + " WHERE " + whereClause; final String deleteSql = "DELETE FROM " + getEntityClass().getSimpleName() + " WHERE " + whereClause;
final Query query = session.createQuery(deleteSql); final Query query = session.createQuery(deleteSql);
if (!empty(parameters)) parameters.forEach(query::setParameter);
parameters.forEach(query::setParameter);
final int count = query.executeUpdate(); final int count = query.executeUpdate();
session.setFlushMode(FlushMode.COMMIT); session.setFlushMode(FlushMode.COMMIT);
session.flush(); session.flush();


Loading…
Cancel
Save