是否可以将Hibernate与PostgreSql的JSONB数据类型一起使用?
jsonb
默认情况下,Hibernate 5不支持PostgreSQL 数据类型。
有什么方法可以实现jsonb
对Hibernate + Spring JPA的支持?
如果有办法,jsonb
与Hibernate一起使用的利弊是什么?
回答:
感谢Vlad Mihalcea我们有这样的机会!)
他创建了hibernate类型的 lib:
<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与PostgreSql的JSONB数据类型一起使用? 的全部内容, 来源链接: utcz.com/qa/411635.html