6.3 中已弃用的 @Where 和 @Loader 是否有替代品

Ray*_*ngo 5 hibernate deprecation-warning

从 hibernate 6.3 开始,org.hibernate.annotations.Where 和 Loader 已被弃用。

我们将这些注解与@NamedQuery和@SQLDelete一起使用来实现软删除。

实现这一点的非弃用方式是什么?

And*_*isa 11

根据文档,您可以将@Where注释替换为@SQLRestriction

从:

 @Entity
 @Where(clause = "status <> 'DELETED'")
 class Document {
     ...
     @Enumerated(STRING)
     Status status;
     ...
 }
Run Code Online (Sandbox Code Playgroud)

到:

 @Entity
 @SQLRestriction("status <> 'DELETED'")
 class Document {
     ...
     @Enumerated(STRING)
     Status status;
     ...
 }
Run Code Online (Sandbox Code Playgroud)

另外根据文档,您也可以替换@Loader@SQLSelect@HQLSelect

关于@HQLSelect@SQLSelect

这些注解只是Loader 和NamedQuery 的缩写。

有关如何做的更多信息 我认为您应该检查有关它的文档的附加参考资料。