【问题标题】:Spring-data-rest and Spring-jpa [closed]Spring-data-rest 和 Spring-jpa [关闭]
【发布时间】:2012-08-07 18:08:34
【问题描述】:

data-rest 和 jpa。

我使用@EmbeddedId 创建了一个具有复合键的实体

并且存储库使用 findById 查询参数扩展 CrudRepository

当我输入网址时

[链接] (http://localhost:8080/data/person/search/findById?findById=1,2&name=abc)

我收到错误,无法将字符串转换为 Long。

有没有办法使用 spring JPA 将字符串转换为 Long 列表?

请帮帮我。

【问题讨论】:

    标签: spring rest spring-data-rest


    【解决方案1】:

    实际上,我今天只是在研究这个功能。

    在最新的快照版本中,有一个新的注解:@ConvertWith。您将 Spring Core Converter 实现的类名放在该注释中,导出器将使用该转换器将 String[] 查询参数值转换为查询方法的参数。

    有一个example of how to use it in your Repository in the tests(我会尽快更新 wiki,但还没有机会,因为这些新快照上的墨水还没有干 :)。要在 URL 查询字符串中传递多个值,请多次引用同一个名称:

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

    当然,您可以选择将多个值编码为单个参数值(例如,以逗号分隔)并在您自己的转换器中进行转换。不过,无论如何,您仍会通过 String[] 传递给您的自定义转换器。

    【讨论】:

    • 非常好,感谢您的回复。我们正在考虑使用新的注释。但是我们多久可以期待新版本的发布。
    • 我希望本周准备好下一个版本。
    • github 链接示例代码不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2016-02-01
    • 2015-07-14
    • 2019-09-30
    • 2017-05-29
    • 2021-11-11
    • 2021-11-19
    相关资源
    最近更新 更多