В приведенном ниже коде
CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<VendorEscalation> query = getCriteriaQuery();
Root<VendorEscalation> root = query.from(VendorEscalation.class);
Join<VendorEscalation, Vendor> vehicleJoin = root.join("vendor");
query.where(criteriaBuilder.in(criteriaBuilder.treat(vehicleJoin, Vendor.class).get("id").in(vendorIds)));
Я использую здесь attributeBuilder, и при компиляции я получаю эту ошибку.
error: cannot find symbol
query.where(criteriaBuilder.in(criteriaBuilder.treat(vehicleJoin, Vendor.class).get("id").in(vendorIds)));
^
symbol: method treat(Join<VendorEscalation,Vendor>,Class<Vendor>)
location: variable criteriaBuilder of type CriteriaBuilder
Я проверил граф зависимостей gradle, который содержит зависимость от javax.persistence.Criteria через jar org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
. В intellij я даже могу открыть файл java из jar зависимостей и увидеть метод.
Что может быть возможной причиной и решением, чтобы это исправить. Я использую упаковщик Gradle с версией 2.14