相关疑难解决方法(0)

存储json,jsonb,hstore,xml,enum,ipaddr等失败,"column"x"的类型为json,但表达式的类型字符不同"

当使用PostgreSQL将数据存储在一个绳状验证类型的字段,如xml,json,jsonb,xml,ltree,等等,所述INSERTUPDATE失败等错误:

column "the_col" is of type json but expression is of type character varying
Run Code Online (Sandbox Code Playgroud)

... 要么

column "the_col" is of type json but expression is of type text
Run Code Online (Sandbox Code Playgroud)

为什么?我能做些什么呢?

我正在使用JDBC(PgJDBC).

这通过Hibernate,JPA和各种其他抽象层发生.

PostgreSQL团队的"标准"建议是CAST在SQL中使用a .这对于使用查询生成器或ORM的人来说没有用,特别是如果这些系统没有对数据库类型的明​​确支持json,因此它们通过String应用程序进行映射.

一些ORM允许实现自定义类型处理程序,但我真的不想为每个ORM编写每个数据类型的自定义处理程序,例如Hibernate上的json,EclipseLink上的json,OpenJPA上的json,Hibernate上的xml,...用于编写通用自定义类型处理程序的JPA2 SPI没有.我正在寻找一个通用的解决方案.

postgresql json casting jpa jdbc

20
推荐指数
1
解决办法
9992
查看次数

标签 统计

casting ×1

jdbc ×1

jpa ×1

json ×1

postgresql ×1