在旧代码中,我具有以下内容:
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;
}
}
执行查询会返回所有未过滤的请求类型的实体。
我需要一个假查询,该查询总是返回一个空列表。无法在 where 子句中写入与特定实体相关的任何内容,因为它对所有实体类型均有效。不知道如何用JPA标准Api编写它。
不能使用 limit 关键字将结果限制为0。
我想要实现的结果与Mysql执行时得到的结果相同
SELECT * FROM用户,其中0> 1;