问题描述
我在 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
示例