|
|
@@ -341,7 +341,7 @@ public abstract class AbstractCRUDDAO<E extends Identifiable> |
|
|
|
public static final String EX_UUID = "__exclude_uuid__"; |
|
|
|
|
|
|
|
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) { |
|
|
|
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)); |
|
|
|
} |
|
|
|
|
|
|
|
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 String deleteSql = "DELETE FROM " + getEntityClass().getSimpleName() + " WHERE " + whereClause; |
|
|
|
final Query query = session.createQuery(deleteSql); |
|
|
|
if (!empty(parameters)) parameters.forEach(query::setParameter); |
|
|
|
parameters.forEach(query::setParameter); |
|
|
|
final int count = query.executeUpdate(); |
|
|
|
session.setFlushMode(FlushMode.COMMIT); |
|
|
|
session.flush(); |
|
|
|