当前位置: 首页 > 面试题库 >

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

寇照
2023-03-14
问题内容

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



 类似资料:
  • 我正在用spring boot、webflux和r2dbc(postgresql)构建一个新的api。我的一个表将有一个json或jsonb字段,用于存储动态json文档。 就目前而言,r2dbc不支持postgresql数据库的json数据类型。我想知道是否可以使用它,为存储库编写一些代码。 我已经创建了一个简单的测试项目来尝试这个,但还没有成功。我可以使用org保存JSON字段。springf

  • 我想让flume代理位于hadoop集群之外,并想知道是否有可能使用flume通过WebHDFS向hadoop集群发送消息。 如果没有,是否有使用WebHDFS的替代方案?使用多层水槽层仍然需要我在hadoop集群中运行水槽代理。

  • 本文向大家介绍介绍PostgreSQL中的jsonb数据类型,包括了介绍PostgreSQL中的jsonb数据类型的使用技巧和注意事项,需要的朋友参考一下 PostgreSQL 9.4 正在加载一项新功能叫jsonb,是一种新型资料,可以储存支援GIN索引的JSON 资料。换言之,此功能,在即将来临的更新中最重要的是,如果连这都不重要的话,那就把Postgres 置于文件为本数据库系统的推荐位置吧

  • 是否可以在AWS Lambda中构建一个函数来创建websocket并将数据发送到订阅的应用程序? 类似这样: John在他的手机中打开了应用程序SuperPhotoApp,但决定使用桌面浏览器将照片上传到SuperPhotoApp服务(S3 Bucket),此事件执行创建套接字的Lambda函数。io服务器并将更新推送到所有订户,他的手机打开了应用程序,因此应用程序会自动更新新照片。 这可以通过

  • 问题内容: 我对正则表达式很糟糕,但是我想知道是否可以将ng-pattern与变量一起使用 例如, 其中validationCode是控制器中附加到$ scope的变量 如果 则ng-pattern将是 但这不起作用,似乎我需要创建一个我真的不想要的自定义指令 问题答案: 需要一个正则表达式。 从Angular的文档中有关: 如果该值与模式表达式不匹配,则设置模式验证错误键。期望值用于内联模式或定

  • 我对Spring webflux和protobuf都是新手。我一直在读一些东西,我发现它们之间有一些相似之处。喜欢 Spring webflow可以部署在netty上,gRPC也是如此。 两者都适用于流数据。 这两个框架都在某种程度上基于观察者设计模式,支持基于均匀的数据处理方法。 然而,我仍然找不到任何结合webflux(反应式编程)、gRPC(更快的数据编码和解码)和Spring(依赖注入)功