엔티티의 필드 값을 정하다 Not Null 설정을 정하려다 @NotNull과 @NotBlank @NotEmpty라는 세 어노테이션이 있는 것을 알게 되었습니다.
세 어노테이션 모두 Bean Validation (Hibernate Validation) 에서 제공하는
표준 Validation 입니다.
- NotNull은 javax.validation.constraints.NotNull 으로 validation 패키지 안에 있는 어노테이션으로 기본적으로 Null 값을 허용하지 않으나 “”과 “ “으로 빈 칸과 공백을 허용합니다.
- NotEmpty는 null과 “”는 허용하지 않습니다. 그러나 “ “은 허용하게 됩니다. 공백 값 또한 정상 처리 되도록 하고 싶을때 사용하면 될 거 같습니다.
- NotBlank는 null, “”, “ “ 모두 허용하지 않습니다. 가장 강도가 센 어노테이션임을 알 수 있습니다.
세 가지의 특징을 정리해보자면
- @NotNull : 반드시 값이 있어야 한다.
- @NotEmpty : 반드시 값이 존재하고 길이 혹은 크기가 0보다 커야한다.
- @NotBrank : 반드시 값이 존재하고 공백 문자를 제외한 길이가 0보다 커야 한다.
'스프링 부트 > JPA' 카테고리의 다른 글
[스프링] DATA JPA In절로 파라미터 넣기 (0) | 2022.08.25 |
---|---|
[스프링] @Query에 ENUM 타입 쓰는 법 (0) | 2022.08.25 |
스프링 부분 수정 쿼리 @DynamicUpdate (1) | 2022.02.18 |
스프링 부트 JPA 기본 정리 (0) | 2022.01.19 |
스프링부트 JPA N+1 문제와 해결 방법 (0) | 2022.01.18 |
댓글