迁移到 Hibernate 6 @Type 注释不适用于布尔值

Aru*_*wda 5 java hibernate spring-data spring-boot hibernate-6.x

我将 spring boot 升级到 3.x,这又将 Hibernate 从 5 升级到 6 和 spring 6。

在以前的版本中,我们使用@Type注释将 db 列从字符串(Y 或 N)转换为 java 布尔值。

    @Column(name = "IS_SPECIAL")
    @Type(type = "yes_no")
    private Boolean isSpecial;
Run Code Online (Sandbox Code Playgroud)

我现在面临的问题是有一个语法错误,内容如下:

无法解析方法“类型”

该注释也不接受字符串值。

我已经检查过这个问题,但没有帮助。

Aru*_*wda 11

好吧,人们。让未来遇到同样问题的人变得容易。

从这里得到答案

@Type(type = "yes_no")可以替换为@Convert(converter = YesNoConverter.class)

@Column(name = "IS_SPECIAL")
@Convert(converter = org.hibernate.type.YesNoConverter.class)
private Boolean isSpecial;
Run Code Online (Sandbox Code Playgroud)