Example usage for org.springframework.integration.jpa.support JpaUtils applyAndBind

List of usage examples for org.springframework.integration.jpa.support JpaUtils applyAndBind

Introduction

In this page you can find the example usage for org.springframework.integration.jpa.support JpaUtils applyAndBind.

Prototype

public static <T> Query applyAndBind(String queryString, Iterable<T> entities, EntityManager entityManager) 

Source Link

Document

Creates a where-clause referencing the given entities and appends it to the given query string.

Usage

From source file:org.springframework.integration.jpa.core.DefaultJpaOperations.java

@Override
public void deleteInBatch(Iterable<?> entities) {

    Assert.notNull(entities, "entities must not be null.");

    Iterator<?> iterator = entities.iterator();

    if (!iterator.hasNext()) {
        return;//from  w w  w . ja  v  a2 s .  c  o  m
    }

    Class<?> entityClass = null;

    for (Object object : entities) {
        if (entityClass == null) {
            entityClass = object.getClass();
        } else {
            if (entityClass != object.getClass()) {
                throw new IllegalArgumentException("entities must be of the same type.");
            }
        }
    }

    final String entityName = JpaUtils.getEntityName(entityManager, entityClass);
    final String queryString = JpaUtils.getQueryString(JpaUtils.DELETE_ALL_QUERY_STRING, entityName);

    JpaUtils.applyAndBind(queryString, entities, entityManager).executeUpdate();

}