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
中删除有问题的子句