我正在尝试将postgresql-jsonb运算符与spring数据jpa查询一起使用,如下所示:
@Query(value="SELECT * from Employee e WHERE e.details @> '{"province":{"city":{"town": ":town"}}, "hobbies": [":hobby"]}'",nativeQuery = true)
城镇和爱好是投入。
没有错误,但没有返回结果,尽管有符合标准的记录
参数绑定似乎不起作用。
解决方案是什么?
这里,:town
和:hobby
在''
内部(单引号(表示字符串文字,因此参数不能被替换。您可以使用||
将其连接为字符串,这样参数就不在''
中,并且可以被替换。
@Query(value="SELECT * from Employee e WHERE e.details @> ''||'{"province":{"city":{"town": "' || :town || '"}}, "hobbies": ["' || :hobby || '"]}'||'' ", nativeQuery = true)