Отличительный выбор столбца с использованием Spring JPA Спецификации и разбиение на страницы дают InvalidDataAccessApiUsageException - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь отфильтровать результаты из таблицы на основе набора параметров запроса, которые я получаю, используя спецификации Spring Data JPA.Мне нужно получить результаты Distinct Column типа UUID.Все остальные параметры запроса, по которым мне нужно выполнить запрос, имеют тип String.

. Поэтому я использую метод репозитория findDistinctByTransactionId(Specficiation<T> spec, Pageable page)

Я ожидаю, что результат будет иметь тип Page<UUID>,Но я получаю исключение.Сообщение об ошибке:

org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [org.springframework.data.jpa.domain.Specifications@7c900524] did not match expected type [java.util.UUID (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [org.springframework.data.jpa.domain.Specifications@7c900524] did not match expected type [java.util.UUID (n/a)]

Таким образом, проблема заключается в том, чтобы сообщить JPA, что искомый столбец, который мы ищем, имеет тип UUID.

1 Ответ

0 голосов
/ 29 мая 2019

Проблема заключается в том, что вы пытаетесь объединить две различные функции Spring Data JPA: спецификации и вывод запроса.Это не работает.

Что вам нужно сделать, это создать реализацию пользовательского метода вашего метода, который создает запрос с использованием API критериев JPA, а затем добавляет предикат, передаваемый в качестве аргумента..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...