gpt4 book ai didi

hibernate - 是否可以将 Hibernate 与 PostgreSql 的 JSONB 数据类型一起使用?

转载 作者:行者123 更新时间:2023-12-02 19:33:27 30 4
gpt4 key购买 nike

Hibernate 5 默认不支持 PostgreSQL jsonb 数据类型。

有没有办法实现对Hibernate + Spring JPA的jsonb支持?

如果有办法的话,在 Hibernate 中使用 jsonb 有何优缺点?

最佳答案

谢谢Vlad Mihalcea我们有这样的机会! )

他创建了hibernate-types库:

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

为 Hibernate 添加了对 'json'、'jsonb' 和其他类型的支持:

@Data
@NoArgsConstructor
@Entity
@Table(name = "parents")
@TypeDefs({
@TypeDef(name = "string-array", typeClass = StringArrayType.class),
@TypeDef(name = "int-array", typeClass = IntArrayType.class),
@TypeDef(name = "json", typeClass = JsonStringType.class),
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
})
public class Parent implements Serializable {

@Id
@GeneratedValue(strategy = SEQUENCE)
private Integer id;

@Column(length = 32, nullable = false)
private String name;

@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
private List<Child> children;

@Type(type = "string-array")
@Column(columnDefinition = "text[]")
private String[] phones;

public Parent(String name, List<Child> children, String... phones) {
this.name = name;
this.children = children;
this.phones = phones;
}
}

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Child implements Serializable {
private String name;
}

更多信息:1 , 2

关于hibernate - 是否可以将 Hibernate 与 PostgreSql 的 JSONB 数据类型一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49325802/

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