Spring的验证例程是否支持Hibernate的JSR 303实现选项以实现失败快速模式?
作者:互联网
我正在寻找可以在Spring中配置此选项的位置,但我不确定这是否是JSR 303的一部分,因为它是用于自己的验证器实现的Hibernate配置.这很重要,因为如果我有多个约束违规,我只想要第一个“抛出”.
解决方法:
假设您使用Spring的LocalValidatorFactoryBean来设置验证器,您可以在validationPropertyMap属性中指定特定于提供者的配置属性.
Hibernate Validator的fail-fast属性的属性名称是“hibernate.validator.fail_fast”,因此您可以像这样设置验证器:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<bean name="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationPropertyMap">
<util:map>
<entry key="hibernate.validator.fail_fast" value="true"/>
</util:map>
</property>
</bean>
</beans>
标签:spring,hibernate,bean-validation,hibernate-validator 来源: https://codeday.me/bug/20190626/1290220.html