升级到 Hibernate 5.6.0.Final 后,我发现 org.hibernate.annotations.Type 现已弃用。我在许多实体中使用此注释,包括我利用 Hibernate 自己的 NumericBooleanType 的地方:
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean debug = false;
Run Code Online (Sandbox Code Playgroud)
我搜索了 Hibernate 文档(迁移指南 - 其中 6.0 版本从http://hibernate.org/orm/documentation/6.0/给了我一个 404 )、Javadocs、论坛和网络来寻找替代品,但没有找到有用。
有谁知道我现在可以在 Hibernate 5.6.0 中做什么来使用类型注释准备我的代码以过渡到 Hibernate 6?
Gow*_*nan 27
对于那些想知道 hibernate 6 的替代方法是什么的人,您必须将其更改为:
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean debug = false;
Run Code Online (Sandbox Code Playgroud)
对此:
@Convert(converter = org.hibernate.type.NumericBooleanConverter.class)
private Boolean debug = false;
Run Code Online (Sandbox Code Playgroud)
Sto*_*ica 25
编辑:更改已在 5.6.3 中恢复。不应该再有任何弃用警告。
在升级到 6.0 之前,您无能为力,除非有足够多的人抱怨这个问题,他们恢复了 5.6.1 或其他版本中的更改。
Hibernate 做出了一个不寻常的决定,在出现任何替代品之前就尽早弃用这些注释。
我不知道为什么。它唯一会做的就是让人们压制警告,然后在 6.0 发布时忘记它,永远不会做出改变。