JPA条件api中空结果的通用伪查询

时间:2018-09-04 11:21:23

标签: jpa criteria-api

在旧代码中,我具有以下内容:

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;

0 个答案:

没有答案