Общий поддельный запрос для пустого результата в API критериев Jpa - PullRequest
0 голосов
/ 04 сентября 2018

В устаревшем коде у меня есть следующее:

public class NoFilter<T> implements FilterClause{
Class entityClass;
public NoFilter(Class aClass)
{
    entityClass = aClass;
}

@Override
public CriteriaQuery query4Data(EntityManager em ) {
    javax.persistence.criteria.CriteriaBuilder cb = em.getCriteriaBuilder();
    javax.persistence.criteria.CriteriaQuery cq = cb.createQuery();
    javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
    cq.select(rt);
    return cq;
}
}

При выполнении запроса возвращаются все нефильтрованные объекты запрошенного типа.

Мне нужен поддельный запрос, который всегда возвращает пустой список. Невозможно записать что-либо, связанное с конкретной сущностью, в предложении , где , потому что это должно быть допустимо для всех типов сущностей. Не знаю, как написать это в критериях JPA Api.

Невозможно использовать ключевое слово limit , чтобы ограничить результат 0.

Я бы хотел добиться того же результата, что и при выполнении Mysql

SELECT * FROM пользователей, где 0> 1;

...