gpt4 book ai didi

java - 创建 Hibernate 类型以使用 PostgreSQL 保存 JSONObject

转载 作者:行者123 更新时间:2023-12-02 05:43:51 24 4
gpt4 key购买 nike

我使用 Postgres 9 和 Hibernate 4 作为 ORM。

在 Postgres 中,可以选择使用 json 类型列创建表。

我希望在我的 Java 代码中能够在查询中发送 JSONObject ,以便它们被转换/转换为 Postgres 类型。

我怎样才能做到这一点?

我需要反对:

  1. 第一个对象从 UserType 扩展。
  2. 第二个对象扩展:扩展 AbstractSingleColumnStandardBasicType 实现 DiscriminatorType。

有什么例子吗?

最佳答案

您不必手动创建所有这些类型,您只需使用以下依赖项通过 Maven Central 获取它们:

<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>1.0.0</version>
</dependency>

有关更多信息,请查看Hibernate Types open-source project .

现在,您的映射可以使用 JsonType ,像这样:

@Entity(name = "Book")
@Table(name = "book")
@TypeDef(
name = "json",
typeClass = JsonType.class
)
public class Book {

@Id
@GeneratedValue
private Long id;

@NaturalId
private String isbn;

@Type( type = "json" )
@Column(columnDefinition = "jsonb")
private JsonNode properties;

//Getters and setters omitted for brevity
}

就是这样!

关于java - 创建 Hibernate 类型以使用 PostgreSQL 保存 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24281494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com