Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法创建将检查字段类别的规范_Java_Spring_Jpa_Predicate - Fatal编程技术网

Java 无法创建将检查字段类别的规范

Java 无法创建将检查字段类别的规范,java,spring,jpa,predicate,Java,Spring,Jpa,Predicate,实体顺序包含字段: @ManyToOne(可选=false) 私有抽象请求者 我想按此字段的类型获取数据 我在文档中创建了规范,但在 page=orderRepository.findAll(规范,可分页) 破例 org.springframework.dao.InvalidDataAccessApiUsageException:org.hibernate.QueryException:无法解析属性:类的:…order.order 我的规格: @Override public Predi

实体顺序包含字段:

@ManyToOne(可选=false)
私有抽象请求者

我想按此字段的类型获取数据

我在文档中创建了规范,但在

page=orderRepository.findAll(规范,可分页)

破例

org.springframework.dao.InvalidDataAccessApiUsageException:org.hibernate.QueryException:无法解析属性:类的:…order.order

我的规格:

@Override
    public Predicate toPredicate(Root<Order> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
    Predicate megaPredicate = cb.conjunction();`
    ...
megaPredicate = cb.and(megaPredicate, cb.and(
                            cb.equal(root.get("requester").type(), cb.literal(PersonRequester.class))
...
return megaPredicate;
}
@覆盖
公共谓词toPredicate(根根、CriteriaQuery查询、CriteriaBuilder cb){
谓词megaPredicate=cb.conjunction()`
...
megaPredicate=cb.and(megaPredicate,cb.and(
cb.equal(root.get(“requester”).type(),cb.literal(PersonRequester.class))
...
返回谓词;
}

您试图在查询中使用鉴别器列,这是非法的

相反,直接在
PersonRequester
上执行查询,并从
megaPredicate
中删除有问题的子句