Postgresql-jsonb操作符不适用于spring数据jpa



我正在尝试将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)

最新更新