当前位置: 首页 > 知识库问答 >
问题:

使用Hibernate将json值插入postgresql表

欧阳嘉年
2023-03-14

我在postgreSQL DB(9.2)中有一个表,其中列类型为json。我正在使用Hibernate,并实现了Tim Fulmer建议的将postgreSQL JSON列映射到Hibernate值类型的代码示例,但我不断得到以下异常:

ERROR: column "jsonobject" is of type json but expression is of type character varying
Hint: You will need to rewrite or cast the expression.

我不想强制转换表达式,因为不建议使用它。当我使用预先生成的表并且列类型为JSON时,我得到了这个错误。当我更改Hibernate配置以构建表时,我没有得到异常,值被插入到新创建的表中,但此列的类型是'character varieting(255)',而不是JSON。

我敢打赌,我在实现中错过了一些东西,但不能理解是什么。我该看哪里?我甚至试图在代码中设置断点,但我没有找到它们。

谢了。

共有1个答案

谭琛
2023-03-14

找到了解决方案,下面的定义在我的项目中确实缺失了。在该表的xml映射文件中,我必须对该特定字段使用type=“com.example.stringJSONUserType”,而不是type=“java.lang.String”,因此此列的映射如下:

<property name="someobjects" type="com.example.StringJsonUserType">
    <column name="jsonobject" />
</property>

萨吉。

 类似资料:
  • 现在我有了hibernate的工作批插入(“hibernate.jdbc.batch_size=50”),但据我所知,hibernate会批量生成单个插入。我知道我可以告诉我的db驱动程序为每批插入创建多行插入,以使用rewriteBatchedStatements:jdbc:p加快性能ostgresql://localhost:5432/mydb?rewriteBatchedStatements

  • 问题内容: 我的PostgreSQL数据库(9.2)中有一个表,其中的列类型为JSON。我很难将此列映射到“ JPA2实体”字段类型。 我尝试使用String,但是当我保存实体时,出现一个异常,即它无法将字符转换为JSON。 处理JSON列时使用的正确值类型是什么? 一个简单的解决方法是定义一个文本列。 问题答案: 请参阅PgJDBC错误#265。 PostgreSQL过于严格,对数据类型转换非常

  • 我有一个将数据插入PostgreSQL表的Mulesoft流。数据类型为JSON。这是数据的副本:(我从调试器中抓取了这个,因为它即将调用插入命令) 当我尝试将其插入JSON列时,我得到了这个错误 所以我决定把它插入一个文本列,这就是它的样子 请注意,在“id”之后添加了“=”而不是“:”,并删除了引号。 我不知道为什么会这样。基本上,我只需要将JSON数据插入JSON列。 谢谢

  • 问题内容: 我在Python中有一个JSON对象。我正在使用Python DB-API和SimpleJson。我正在尝试将json插入MySQL表中。 目前出现错误,我相信这是由于JSON对象中的单引号引起的。 如何使用Python将JSON对象插入MySQL? 这是我收到的错误消息: 另一个错误供参考 这是我正在使用http://pastebin.com/q5QSfYLa的代码的链接 问题答案:

  • 我在数据库中有一个表: > < li> 用户角色(字典) id 名称(管理员、用户…) 用户登录 Id 电子邮件 密码 用户简介 Id 名字 姓氏 用户 Id IdUserLogin(FK) IdUserRole(FK) 标识用户配置文件(FK) 如何将值插入上述三个表? 我尝试了这样的东西: 控制器: JSP页面:

  • 在SQL我们做这样的事情批量插入到可更新 但在PostgreSQL中,如何执行此操作