繁体   English   中英

Hibernate 6 @Type 注解

[英]Hibernate 6 @Type annotation

我升级到 Springboot 3.0,在我的 hibernate 实体 class 中有类似的东西:

    @Column(columnDefinition = "jsonb", nullable = false, updatable = true, name = "accounts") 
    @Type(type = "jsonb")
    private ArrayList<Account> accounts;

但是自从升级到 Springboot 3.0 并移动到 Jakarta 持久性以来,我得到了“无法解析方法”的异常。

我需要替换 com.vladmihalcea.hibernate.type.json.JsonBinaryType;

我找到了答案:

我不得不使用库:

<groupId>com.vladmihalcea</groupId> 
<artifactId>hibernate-types-60</artifactId> 

在实体中:

    @Column(columnDefinition = "jsonb", nullable = false, updatable = true, name = "accounts") 
    @Type(JsonBinaryType.class)
    private ArrayList<Account> accounts;

在 Hibernate 6 中,映射注释的类型安全性更高。 您通常需要指定Class引用而不是字符串类型的名称。

如果你想要 model JSON,我建议你使用@JdbcTypeCode(SqlTypes.JSON)这就是你 model JSON 和普通 Hibernate ORM Core 的方式。 另见https://docs.jboss.org/hibernate/orm/6.1/userguide/html_single/Hibernate_User_Guide.html#basic-mapping-json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM