如何使用spring在postgres中插入json数据

问题描述

我在 POSTGRES sql 中有一个表,该表的列类型为JSON(not jsonb its json)。 现在,我创建一个POJO并尝试使用spring JPA REPOSITORY save方法保存它。

我尝试过的方法
现在,如果我将JSON作为String发送,它会失败,说无法将CVAR转换为json,如果我作为jsonObject发送,那么它会失败,提示无法将BYTEA转换为json。

我知道如何使用jsonb,但是对于json我不确定如何插入它,我发现的一种方法是编写一个插入语句,然后键入大小写,而不是直接使用存储库的save方法,但是由于我表中有很多列,我无法将它们全部传递给函数,然后保存。 现在我应该如何做到呢?
预先感谢

解决方法

PostgreSQL内部使用二进制映射来存储json和jsonb数据类型。下面应该适用于json列类型。

@Type(type = "jsonb")
@Column(columnDefinition = "json")

请参见postgres here

示例