Postgresql 将spring应用程序中的json字符串插入postgres jsonb

Postgresql 将spring应用程序中的json字符串插入postgres jsonb,postgresql,spring-boot,spring-data-jpa,hikaricp,Postgresql,Spring Boot,Spring Data Jpa,Hikaricp,我想将json字符串插入到数据类型为jsonbdatatype的postgres列中,该字符串没有预定义的结构,即键值格式不固定。我的应用程序使用HikariCP和JPA 早些时候,我在postgres中使用了以下通用cast操作来实现上述功能,但DBA不推荐这样做,因为它从根本上改变了varchar数据类型 CREATE CAST (character varying AS jsonb) WITH INOUT AS IMPLICIT; 在寻找应用程序端的替代方案时,我遇到了如下未指定stri

我想将json字符串插入到数据类型为
jsonb
datatype的postgres列中,该字符串没有预定义的结构,即键值格式不固定。我的应用程序使用HikariCP和JPA

早些时候,我在postgres中使用了以下通用cast操作来实现上述功能,但DBA不推荐这样做,因为它从根本上改变了varchar数据类型

CREATE CAST (character varying AS jsonb) WITH INOUT AS IMPLICIT;
在寻找应用程序端的替代方案时,我遇到了如下未指定stringtype的设置

spring:   
  profiles: development   
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://127.0.0.1/mydb
    username: my_user
    password: 'my_password'
    hikari:
      auto-commit: true
      maximumPoolSize: 2
      leakDetectionThreshold: 60000
    tomcat:
      connection-properties: stringtype=unspecified

上述配置没有帮助。连接属性似乎不是数据源的直接属性。论坛上的各种答案只是告诉您在连接属性中设置stringtype=unspecified,但是一个清晰的工作答案会更有帮助。

在思考这个问题时,我意识到这个属性必须设置为HikariCP。当我查看它允许我设置的各种参数时,我发现了数据源属性。以下是我发现的解决上述问题的方法

hikari:
  data-source-properties: stringtype=unspecified

对于那些正在寻找扁平版本的用户
spring.datasource.hikari.datasourceproperties.stringtype=unspecified