Я использую OpenJPA 3.2.2 и пробую CRUD от OpenJPA - API критериев, но получил некоторые ошибки
Исключение в потоке «main» java.lang.UnsupportedOperationException: JPA 2.1 в org.apache.openjpa.persistence.criteria.CriteriaBuilderImpl.createCriteriaUpdate(CriteriaBuilderImpl.java:127) в org.example.repositories.BaseRepository.deleteById(BaseRepository.java:63) По моему мнению, моя версия OpenJPA больше не поддерживает «createCriteriaUpdate» и «createCriteriaDelete». Я просто хочу убедиться, что основная проблема исходит от меня (мой код, моя конфигурация) или эти методы устарели.
Мой pom.xml:
1.8 1.8 UTF-8 3.2.2 mysql mysql-connector-java 8.0.30 org.apache.openjpa openjpa-all ${openjpa.version} org.eclipse.jdt org.eclipse.jdt.annotation 2.2.600 org.jetbrains аннотации 16.0.3 компилировать Мой метод:
@Override общественный недействительный deleteById (длинный идентификатор) { System.out.println("удаление..."); пытаться { начинать(); Построитель CriteriaBuilder =entityManager.getCriteriaBuilder(); CriteriaUpdate softDelete = builder.createCriteriaUpdate(User.class); Root userRoot = softDelete.from(User.class); // условия Предикат условие1 = builder.equal(userRoot.get("id"), id); softDelete.set("isDeleted", true); softDelete.where(условие1); int countDeleted =entityManager.createQuery(softDelete).executeUpdate(); System.out.println(countDeleted); совершить(); } catch (OpenJPAException ex) { откат(); выдать новое RuntimeException(ex.getMessage()); } }

По моему мнению, моя версия OpenJPA больше не поддерживает createCriteriaUpdate и createCriteriaDelete. Я просто хочу убедиться, что основная проблема исходит от меня (мой код, моя конфигурация) или эти методы устарели.