В устаревшем коде у меня есть следующее:
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;