- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.5k
 
Closed as not planned
Closed as not planned
Copy link
Labels
status: duplicateA duplicate of another issueA duplicate of another issue
Description
        @Override
	public long delete(Specification<T> spec) {
		CriteriaBuilder builder = this.em.getCriteriaBuilder();
		CriteriaDelete<T> delete = builder.createCriteriaDelete(getDomainClass());
		Predicate predicate = spec.toPredicate(delete.from(getDomainClass()), null, builder);
		if (predicate != null) {
			delete.where(predicate);
		}
		return this.em.createQuery(delete).executeUpdate();
	}This is the definition of delete method in SimpleJpaRepository. Clearly, query param sent is null, but in Specification::toPredicate we have this doc:
         /**
	 * Creates a WHERE clause for a query of the referenced entity in form of a {@link Predicate} for the given
	 * {@link Root} and {@link CriteriaQuery}.
	 *
	 * @param root must not be {@literal null}.
	 * @param query must not be {@literal null}.
	 * @param criteriaBuilder must not be {@literal null}.
	 * @return a {@link Predicate}, may be {@literal null}.
	 */
	@Nullable
	Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder);Metadata
Metadata
Assignees
Labels
status: duplicateA duplicate of another issueA duplicate of another issue