jpa - Jpa标准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 users where 0>1;
解决方案
推荐阅读
- python - 用python创建多列的虚拟变量
- python - 多次导入类导致 ImportError
- java - 如何在控制台上打印这个 Java 数字表?
- node.js - 导入语法Node js的问题
- mysql - 由于 secure_file_priv,无法在 MySQL Server 8.0 上导入 txt 文件
- apache-kafka - Kafka Streams:如何在申请重新处理之前获得偏移限制以及如何停止它
- javascript - 如何从玉 URL 传递整数数组来表达 js 路由
- c# - 仅为屏幕上的范围获取范围坐标
- linux - 使用 PyQt 获取显示器序列号
- android - 无法解析构造函数'Order(Java.lang.string,Java.lang.string,Java.lang.string,void,void)