【问题标题】:Postgresql jsonb operators not working with spring data jpaPostgresql jsonb 运算符不使用 spring data jpa
【发布时间】:2020-08-19 18:09:47
【问题描述】:

我正在尝试将 postgresql jsonb 运算符与 spring data jpa 查询一起使用:

@Query(value="SELECT * from Employee e WHERE e.details @> '{\"province\":{\"city\":{\"town\": \":town\"}}, \"hobbies\": [\":hobby\"]}'",nativeQuery = true)

城镇和爱好是输入。

没有错误但没有返回结果,但有符合条件的记录

似乎参数绑定不起作用。

有什么解决办法?

【问题讨论】:

    标签: spring-data-jpa postgresql-json


    【解决方案1】:

    这里,:town:hobby 在里面 ''(单引号) 表示字符串字面量,所以参数不能被替换。您可以使用|| 连接为字符串,以便参数不在'' 中并且可以替换。

    @Query(value="SELECT * from Employee e WHERE e.details @> ''||'{\"province\":{\"city\":{\"town\": \"' || :town  || '\"}}, \"hobbies\": [\"' || :hobby || '\"]}'||'' ", nativeQuery = true)
    

    【讨论】:

    • 你检查解决方案了吗?如果您遇到任何问题,请随时询问。
    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 2021-05-01
    • 2017-10-09
    • 2016-05-27
    • 2020-04-03
    • 2016-06-26
    • 2021-02-24
    • 2022-10-21
    相关资源
    最近更新 更多