2012-06-03 2 views
4

8.2. Fail fast modeSpring의 검증 루틴은 fail fast 모드에 대한 Hibernate의 JSR 303 구현 옵션을 지원합니까?

것은 나는 봄이 옵션을 구성 할 수있는 곳을 찾고 있어요,하지만 난이 그것을 자신의 유효성 검사기 구현을위한 최대 절전 모드 설정이기 때문에 너무 많은 JSR 303의 일부입니다 확실하지 않다. 이것은 여러 제약 조건 위반이있는 경우 첫 번째 정책 만 "throw"하기 때문에 중요합니다.

답변

4

스프링의 LocalValidatorFactoryBean을 사용하여 유효성 검사기를 설정한다고 가정하면 validationPropertyMap 속성 내에 공급자 별 구성 속성을 지정할 수 있습니다.

는 최대 절전 모드 검사기의 르파 속성의 속성 이름은 "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> 
+0

감사 군나르을 나는 그것을 시도 줄 것입니다. 나는 JSR 303의 Hibernate validator 구현을 정말로 좋아한다. –

+0

"Spring의 LocalValidatorFactoryBean을 사용하여 유효성 검사기를 설정한다고 가정합니다." 나는 모델을 검증하기 위해 주석을 사용하고 있으며 Spring은 클래스 패스에서 Hibernate의 유효성 검사기를 선택하고있다. 따라서 XML을 사용하여 반드시 "구성"하고있는 것은 아닙니다. 이로 인해 문제가 발생합니까? –

+1

코드에서 Validator 인스턴스를 어떻게 가져 오나요? Bean Validation 부트 스트랩 API (예 :'Validation.buildDefaultValidatorFactory()')를 사용하고 있습니까, 아니면 의존성 주입을 통해 유효성 검사기를 검색하고 있습니까? 이 경우'LocalValidatorFactoryBean'을 사용하여 Spring bean으로 validator (factory)를 제공해야합니다 (Spring 참조 가이드, [6.7.2 절] (http://static.springsource.org/spring/docs/3.1.x 참고)). /spring-framework-reference/html/validation.html#validation-beanvalidation-overview)). – Gunnar