今天,我们宣布发布了两个 Hibernate Validator 版本:5.4 分支的第一个beta版本和针对当前稳定版 5.3 的维护版本。

5.4.0.Beta1

5.4.0.Beta1 包含了来自 Hibernate Validator 社区的大量优秀内容

  • 由于 Marko Bekhta 的贡献,对 注解处理器 进行了大量的改进。在过去两个月里,Marko 做了大量的工作,使注解处理器能够更快地运行:现在它将报告你可能遇到的许多与注解相关的问题。我们特别希望得到对这个功能的反馈,以确保我们不会报告应该正常工作的配置问题。所以,如果你有时间,在你的项目中尝试一下,如果你发现有什么问题,请向我们报告。

  • 另一个贡献是来自 Zalando 的 Lukas Niemeier 和 Willi Schönborn 的 JavaMoney (JSR 354) 支持。

  • 我们现在提供基于 WildFly 补丁基础设施的 WildFly 补丁,以便在 WildFly 上测试 HV 的新版本。

  • 其他一些改进,如从我们的 6.0 工作中回滚的清理,乌克兰翻译,各种波兰身份证号的约束注解,改进的 @Email 约束...

您可以在 变更日志 中找到所有已解决的问题的完整列表。

深入了解 JavaMoney

JavaMoney API 现在是 Hibernate Validator 的一个可选依赖项。因此,添加以下依赖项将使 HV 能够验证 JavaMoney 类型

<dependency>
    <groupId>javax.money</groupId>
    <artifactId>money-api</artifactId>
    <version>1.0.1</version>
</dependency>
<dependency>
    <groupId>org.javamoney</groupId>
    <artifactId>moneta</artifactId>
    <version>1.1</version>
</dependency>

然后你将能够使用 @DecimalMin 注解验证包含 MonetaryAmount 属性的 Order 实例

public class Order {

    @NotBlank
    private String name;

    @DecimalMin(value = "0", inclusive = false)
    private MonetaryAmount amount;

    public JavaxMoneyOrder(String name, MonetaryAmount amount) {
        this.name = name;
        this.amount = amount;
    }
}

应用 WildFly 补丁

WildFly 应用服务器在其最新稳定版本(10.1.0.Final)中集成了 Hibernate Validator 5.2.4.Final,但您可能想尝试我们的新功能。

WildFly 8 引入了一种补丁基础设施,允许您应用补丁到 WildFly,并具有许多优秀功能:您可以列出已应用的补丁、回滚特定补丁等。

从 HV 5.4 开始,我们利用这个基础设施为您提供升级核心 Hibernate Validator 模块的功能。由于补丁覆盖了核心模块,5.4.0.Beta1 的新功能对所有使用 HV 的 WildFly 组件(例如 Jax-RS)都可用。

补丁文件可以从 Maven Central 或从 我们的发行版 下载。

您可以使用以下命令在 WildFly 10.1.0.Final 上应用 HV 5.4.0.Beta1 更新

$JBOSS_HOME/bin/jboss-cli.sh patch apply hibernate-validator-modules-5.4.0.Beta1-wildfly-10.1.0.Final-patch.zip

如果想要恢复到原始版本,可以轻松地撤销更新

$JBOSS_HOME/bin/jboss-cli.sh patch rollback --reset-configuration=true

获取 5.4.0.Beta1

要使用 Maven、Gradle 等获取发布版本,请使用 GAV 坐标 org.hibernate:{hibernate-validator|hibernate-validator-cdi|hibernate-validator-annotation-processor}:5.4.0.Beta1

或者,可以在 SourceForge 上提供包含所有组件的发行版包(TAR.GZZIP)。

5.3.4.Final

Hibernate Validator 5.3 的第四次维护版本包含一些重要的错误修复。

  • HV-1165 - 这是在 5.3.0.CR1 中引入的回归,当时我们修复了 Map 的类型参数支持:我们破坏了 Set 的支持。现在问题已修复,并为所有现有案例添加了一个全面的回归测试套件。

  • HV-1176 - 如果方法上没有应用其他约束,则可能忽略对 Optional 参数或方法返回值的类型参数约束的验证。

  • HV-1164 - 与 Sebastian Bayerl 贡献的动态约束负载相关的错误修复。

您可以在 变更日志 中找到所有已解决的问题的完整列表。

获取 5.3.4.Final

Hibernate Validator 5.3.4.Final 是 Hibernate Validator 5.3.3.Final 的直接替换。

要使用 Maven、Gradle 等获取发布版本,请使用 GAV 坐标 org.hibernate:{hibernate-validator|hibernate-validator-cdi|hibernate-validator-annotation-processor}:5.3.4.Final

或者,可以在 SourceForge 上提供包含所有组件的发行版包(TAR.GZZIP)。

反馈、问题、想法?

要取得联系,请使用以下渠道

接下来是什么?

我们将准备 5.4 分支的第一个候选发布版本,其中我们将集成您的反馈。

我们还在积极开发 Bean Validation 2.0 和 Hibernate Validator 6,重点关注支持 Java 8 的新功能(以及更多!)越多越好,所以请随时加入我们:提出想法,对其他人的提议进行评论,现在是定义 Bean Validation 未来的时候了。您可以在 Bean Validation 网站 上找到所有必要的信息。


返回顶部