批量插入具有特殊字符的数据不适用于Postgres jsonb列

时间:2019-06-27 07:58:02

标签: java jdbc jsonb batch-insert

我正在尝试使用jdbc批量插入jsonb类型的postgres列。我尝试插入的数据具有特殊的字符,例如'。

我的查询如下:

INSERT INTO myschema.EMP( PAYLOAD) VALUES (cast(:payload as json))

在Java中将字符串转换为json之后,我的有效负载看起来像(Java API转义了有效负载中存在的反引号的单引号):

'{"name": "Sahil", "desc": "Working as\'s a developer"}'

每当我尝试使用jdbc执行批量插入时,它都会失败,因为强制转换功能无法在有效负载中转义反斜杠。 然后我尝试使用E来转义反斜杠。

INSERT INTO myschema.EMP( PAYLOAD) VALUES (cast(E:payload as json))

此后,JDBC无法绑定有效负载变量值。

0 个答案:

没有答案