如何解决使用 Spring 数据关系更新的 JSON_SET 操作失败,json 文本无效
我正在使用 R2dbc jasync 驱动程序在包含 json 列的 mysql db 表上生成和执行更新查询。
我正在尝试使用 R2dbcEntityTemplate
和 org.springframework.data.relational.core.query.Update.update
以及 org.springframework.data.relational.core.query.Update.set
方法对列执行 JSON_SET 操作。我正在尝试生成一个相当于
UPDATE mytable SET json_col = JSON_SET(json_col,'$.path_to_update',CAST('{"a":"b"}' AS JSON)) WHERE id=:id
但我收到以下错误:
invalid json text: "the document is empty." at position 0 in value for column
据我所知,Update.set()
操作并没有将 JSON_SET 操作委托给 DB,而是 DB 试图将生成的字符串解释为 json,这在位置 0 是无效的 json。
如何在 DB 将值解释为 JSON 之前使用 Update.set()
函数将 MySQL 函数调用委托给 DB 来实现这一点?
我尝试使用 dbClient.sql().bind()
并且它有效但使用 dbTemplate.update()
这不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。