13.2.2. Hibernate Validator 제약 조건
해당되는 경우 애플리케이션 수준 제한 조건은 아래 표의 Hibernate 메타데이터 영향 열에 설명된 데이터베이스 수준의 제약 조건을 생성합니다.
Java별 검증 제한
다음 표에는 javax.validation.constraints 패키지에 포함된 Java 사양에 정의된 유효성 검사 제한 조건이 포함되어 있습니다.
| 주석 | 속성 유형 | 런타임 검사 | Hibernate 메타데이터 영향 |
|---|---|---|---|
| @AssertFalse | 부울 | 메서드가 false로 평가되는지 확인합니다. 주석이 아닌 코드로 표현된 제약 조건에 유용합니다. | 없음. |
| @AssertTrue | 부울 | 메서드가 true로 평가되는지 확인합니다. 주석이 아닌 코드로 표현된 제약 조건에 유용합니다. | 없음. |
| @Digits(integerDigits=1) | 숫자의 숫자 또는 문자열 표시 |
속성이 정수Digits | 열 정확도 및 스케일링을 정의합니다. |
| @Future | 날짜 또는 일정 | 날짜가 향후 상태인지 확인합니다. | 없음. |
| @Max(value=) | 숫자의 숫자 또는 문자열 표시 | 값이 max보다 작거나 같은지 확인합니다. | 열에 검사 제한 조건을 추가합니다. |
| @Min(value=) | 숫자의 숫자 또는 문자열 표시 | 값이 Min보다 크거나 같은지 확인합니다. | 열에 검사 제한 조건을 추가합니다. |
| @NotNull | 값이 null이 아닌지 확인합니다. | 열은 null이 아닙니다. | |
| @Past | 날짜 또는 일정 | 날짜가 과거인지 확인합니다. | 열에 검사 제한 조건을 추가합니다. |
| @Pattern(regexp="regexp", flag=) or @Patterns( {@Pattern(…)} ) | 문자열 |
속성에 일치하는 플래그가 지정된 정규 표현식과 일치하는지 확인합니다. | 없음. |
| @Size(min=, max=) | 배열, 컬렉션, 맵 | 요소 크기가 min과 max 사이의지, 두 값 모두 포함된지 확인합니다. | 없음. |
| @Valid | 개체 | 연결된 오브젝트에서 검증을 재귀적으로 수행합니다. 오브젝트가 Collection 또는 array인 경우 요소가 재귀적으로 검증됩니다. 오브젝트가 Map인 경우 값 요소의 유효성이 재귀적으로 확인됩니다. | 없음. |
@Valid 매개변수는 javax.validation.constraints 패키지에 있더라도 Jakarta Bean Validation 사양의 일부입니다.
Hibernate Validator별 검증 제한
다음 표에는 org.hibernate.validator.constraints 패키지의 일부인 벤더별 유효성 검사 제한 조건이 포함되어 있습니다.
| 주석 | 속성 유형 | 런타임 검사 | Hibernate 메타데이터 영향 |
|---|---|---|---|
| @Length(min=, max=) | 문자열 | 문자열 길이가 범위와 일치하는지 확인합니다. | 열 길이는 max로 설정됩니다. |
| @CreditCardNumber | 문자열 | 문자열이 잘 포맷된 신용 카드 번호인지, Luhn 알고리즘의 파생인지 확인하십시오. | 없음. |
| @EAN | 문자열 | 문자열이 올바른 형식의 EAN인지 또는 UPC-A 코드인지 확인합니다. | 없음. |
| | 문자열 | 문자열이 전자 메일 주소 사양을 준수하는지 확인합니다. | 없음. |
| @NotEmpty | 문자열이 null이 아니거나 비어 있지 않은지 확인합니다. 연결이 null이 아니거나 비어 있지 않은지 확인합니다. | 문자열에 대한 열은 null이 아닙니다. | |
| @Range(min=, max=) | 숫자의 숫자 또는 문자열 표시 | 값이 min과 max 사이의지, 두 값이 모두 포함된지 확인합니다. | 열에 검사 제한 조건을 추가합니다. |