0

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

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

城镇和爱好是输入。

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

似乎参数绑定不起作用。

有什么解决办法?

4

1 回答 1

0

在这里,:townand :hobbyis inside ''(单引号)表示字符串文字,所以参数不能被替换。您可以使用||to 连接为字符串,以便参数不在内部''并且可以替换。

@Query(value="SELECT * from Employee e WHERE e.details @> ''||'{\"province\":{\"city\":{\"town\": \"' || :town  || '\"}}, \"hobbies\": [\"' || :hobby || '\"]}'||'' ", nativeQuery = true)
于 2020-08-19T19:33:18.187 回答