При использовании я получаю сообщение об ошибке ниже (https://github.com/pramoth/specification-with-projection)
Caused By: org.springframework.data.mapping.PropertyReferenceException: No property findOne found for type <Entity class>
есть идеи, почему это исключение?
Похоже, вы используете неправильную версию Spring Data.
Эта библиотека работает только со старыми версиями. Последние изменения для поддержки новых данных Spring были объединены, но еще не опубликованы.
Вы можете попробовать использовать последнюю версию отсюда https://mvnrepository.com/artifact/th.co.geniustree.springdata.jpa/specification-with-projections
Может быть, это сработает.
Также у меня есть форк библиотеки, поддерживающий последние версии Spring Boot и Java 17. Его можно временно использовать до публикации последней версии библиотеки
https://github.com/v-ladynev/specification-with-projection-embeded
@Javee Вы должны добавить JpaSpecificationExecutorWithProjectionImpl.class
с @EnableJpaRepositories
. findOne()
— это метод пользовательского репозитория, поэтому. Я не думаю, что specification-with-projection 2.0.2
поддерживает Spring Boot 2.7.2
.
Не могли бы вы рассказать мне, какую версию Springboot и спецификацию с проекционными версиями вы используете?
@Javee Spring Boot 2.7.2 Я не использую specification-with-projection
. Нельзя, пока не выйдет новая версия. Я использую github.com/v-ladynev/specification-with-projection-embeded
Спасибо! Теперь он работает с кодом, скопированным вручную. Я пытаюсь получить доступ к одному столбцу (в основном сумма количества из дочерних коллекций). Как определить проекцию для этого? Какие-либо предложения?
@Javee Конечно. Для этого лучше задать отдельный вопрос, со всеми подробностями.
Спасибо за быстрый ответ. Я использую весеннюю загрузку 2.7.2, спецификацию с проекцией версии 2.0.2 и jdk 1.8. Я не уверен, почему он ищет свойство findone в классе сущностей? Примечание. Я не добавлял enablerepositories для включения JpaSpecificationExecutorWithProjectionImpl, поскольку у меня есть несколько конфигураций БД, в которых у меня есть отдельные файлы и enablerepositories для сканирования пакета.