Spring-data-rest и Spring-jpa

данные-остальные и jpa.

Я создал одну сущность с составными ключами, используя @EmbeddedId

и репозиторий расширяет CrudRepository с параметром запроса findById

когда я ввожу URL

[ссылка] (http://localhost:8080/data/person/search/findById?findById=1,2&name=abc)

Я получаю сообщение об ошибке: не удалось преобразовать строку в Long.

Есть ли способ преобразовать строку в список длинных с помощью Spring JPA?

Помогите мне, пожалуйста.


person user1582688    schedule 07.08.2012    source источник


Ответы (1)


На самом деле я как раз работал над этой функцией сегодня.

В последней сборке снимка есть новая аннотация: @ConvertWith. Вы указываете имя класса Spring Core Converter в этой аннотации, и экспортер будет использовать этот преобразователь для преобразования значений параметра запроса String[] в параметр вашего метода запроса.

Существует пример того, как использовать его в вашем репозитории в тестах (в ближайшее время я обновлю вики, но пока не было возможности, так как чернила еще даже не высохли на этих новых снимках :). Чтобы передать несколько значений в строке запроса URL, вы несколько раз ссылаетесь на одно и то же имя:

http://localhost:8080/people/search/findById?id=1&id=2&id=3

Конечно, вы можете закодировать несколько значений в одно значение параметра (например, с разделителями-запятыми) и выполнить преобразование в своем собственном конвертере. Тем не менее, вы все равно получите String[] в свой собственный конвертер, несмотря ни на что.

person Jon Brisbin    schedule 07.08.2012
comment
Отлично, спасибо за ответ. Мы думаем использовать новую аннотацию. Но как скоро можно ожидать выхода новой версии. - person user1582688; 08.08.2012
comment
Я надеюсь, что следующий релиз будет готов на этой неделе. - person Jon Brisbin; 13.08.2012
comment
ссылка на github например код не работает - person fortm; 15.10.2014