今天,我们宣布发布了两个 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.3.4.Final
接下来是什么?
我们将准备 5.4 分支的第一个候选发布版本,其中我们将集成您的反馈。
我们还在积极开发 Bean Validation 2.0 和 Hibernate Validator 6,重点关注支持 Java 8 的新功能(以及更多!)越多越好,所以请随时加入我们:提出想法,对其他人的提议进行评论,现在是定义 Bean Validation 未来的时候了。您可以在 Bean Validation 网站 上找到所有必要的信息。