0

エンティティの順序には次のフィールドが含まれます:

@ManyToOne(optional = false) private AbstractRequester requester;

このフィールドを入力してデータを取得したい。

ドキュメントのように仕様を作成しましたが、

page = orderRepository.findAll(spec, pageable);

例外を取得

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: could not resolve property: class of: ...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;
}
4

1 に答える 1

0

クエリで識別子列を使用しようとしていますが、これは違法です。

代わりに、 でクエリをPersonRequester直接実行し、問題のある節を から削除してくださいmegaPredicate

于 2013-03-24T08:08:35.350 に答える