如何在postgres中使用java插入json文档

z5btuh9x  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(385)

我有一个博士后数据库-

CREATE TABLE IF NOT EXISTS records (
   "value" jsonb,
   "tags" jsonb
);

我应该如何定义我的类——这样一个json文档就会出现在value和tags列中?

@Entity
@Table(name = "records")

public class RecordEntity implements Serializable {

    private String value;      

    private String tags;

}

我应该为值和标记提供什么样的注解或数据类型——比如json文档放在postgres表中。

vyswwuz2

vyswwuz21#

你可以用 hibernate-types 库将字符串jpa属性Map到json数据库列。这个 hibernate-types 框架非常灵活,允许您使用字符串jpa属性类型来表示json结构。

@Entity(name= "RecordEntity")
@Table(name = "records")
@TypeDef(
        name ="json",
        typeClass = JsonType.class
)
public class RecordEntity implements Serializable {
    @Type(type = "json")
    @Column(columnDefinition = "jsonb")
    private String value;
    @Type(type = "json")
    @Column(columnDefinition = "jsonb")
    private String tags;
}

要使用hibernate类型,请添加以下依赖项:

<dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-55</artifactId>
    <version>${hibernate-types.version}</version>
</dependency>

更多细节可以在本文中找到:如何使用hibernate将字符串jpa属性Map到json列

相关问题