escape冒号(“:”)

ylamdve6  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(348)

因此,我尝试使用h2的json对象函数为h2编写一个自定义查询。json\u对象使用 JSON_OBJECT(key:value) 因此,作为spring存储库中的一个简单示例,我编写了一个如下的查询 @Query(value = "SELECT JSON_OBJECT('id':1)", nativeQuery = true) 在h2控制台中执行相同的查询时,它会按预期操作,但在spring中冒号(“:”)被视为变量插入的特殊字符,因此在测试它时,它会尝试将以下值Map为变量,这当然会引发错误。
我试过用这种方法逃出结肠 \\ 以及 \\\\ 在冒号和值之间加一个空格,但似乎没有帮助。
关于如何转义字符或者让spring认为冒号是可以接受的字符,有什么想法吗?

a5g8bdjr

a5g8bdjr1#

实际上,您可以简单地使用替代语法 JSON_OBJECT(KEY 'id' VALUE 1) ,不需要使用转义 \\: ,转义序列会降低查询的可读性。

相关问题