2013-04-26 1 views
1

최대 절전 모드 구현 및 JSF2.0을 사용하여 프로젝트를 JPA2.0으로 변환 중입니다. org.hibernate.validator.Length에서 가져온 @Length (min = 3)과 @NotNull과 같은 기존 프로젝트에는 몇 가지 주석이 있습니다. org.hibernate.validator.NotNull;JPA에서 다른 유효성 확인

새 프로젝트에는 두 가지 옵션이 있습니다. 첫 번째 선택은 여전히 ​​@Length (min = 3)를 사용할 수 있지만 org.hibernate.validator.constraints에서 조금 다른 가져 오기를 사용할 수 있습니다. ; (org.hibernate.validator.Length에서 이전 가져 오기와 함께 작동하지 않음). 두 번째 선택, @Size (min = 3) 및 @NotNull 으로 변환 할 수 있으며 import javax.validation.constraints를 사용하십시오.;

사람이 가져온 파일 org.hibernate.validator. * org.hibernate.validator.constraints에서 논문을 다른 검증 (@Length @Size @NotNull)에 대해 말해 수 있습니다. ; javax.validation.constraints.;

어떤 구현 및 버전에 속하며 어떤 버전을 사용해야하는지 혼동합니다.

답변

0

버전 4 이상에서 Hibernate Validator는 Bean 유효성 검사 사양 (JSR 303/349)의 참조 구현입니다. javax.validation.constraints (@Size, @NotNull 등)에 정의 된 제약 조건은이 규격에 의해 정의되고 Hibernate Validator와 같은 빈 검증 제공자 사이에서 이식 가능하다. I로, 답장을 보내 주셔서 등

+0

감사를

최대 절전 모드 검사기 4.x의 여전히 버전 3.x에서 마이그레이션을 단순화 @Length 제약 조건을 제공하지만, 당신이 유일하게 표준화 된 API를 사용하는 것을 선호하는 경우가 @Size 가야 JPA와 Bean 검증이 명세이며 Hibernate와 Hibernate validation이 참조 구현임을 이해한다. 구현을 참조하는 javax.validation.constraints를 사용할 때 여전히 명확하지 않은 부분이 있습니다. 어때 org.hibernate.validator (어떤 구현을 참조). 두 번째 것이 최대 절전 모드의 refrence 구현이라면 첫 번째 것은 무엇인가? – Yashar

+1

JPA는 지속성 필드의 사양입니다. Hibernate ORM은 그것의 구현이지만 참조 구현은 아니다 (이는 EclipseLink이다). Bean Validation은 Hibernate Validator가 레퍼런스 구현이되는 검증 필드의 명세이다. javax.validation.constraints 패키지와 그 타입은 Bean 검증 명세에 의해 정의되는 반면, 대응하는 제약 검사기는 Hibernate Validator와 같은 구현체에 의해 제공된다. 그 질문에 대답합니까? – Gunnar