이전

javax.validation.constraints 패키지 내의 @NotNull, @NotBlank, @NotEmpty 어노테이션은 Java 객체의 유효성 검사에 사용되며, 각각 다른 유형의 제약 조건을 나타냅니다.

  1. @NotNull: 이 어노테이션은 해당 필드의 값이 null이면 안된다는 것을 나타냅니다. 필드의 값이 객체일 수도 있고, 기본 데이터 타입일 수도 있으며, 값이 null이 아니라면 유효합니다. 비어있는 문자열이나 공백도 유효하게 간주됩니다.

  2. @NotEmpty: 이 어노테이션은 문자열, 컬렉션, 배열, Map 등이 비어있지 않아야 함을 나타냅니다. null 또는 비어있는 값이면 안됩니다. 단순히 공백으로 구성된 문자열은 유효합니다.

  3. @NotBlank: 이 어노테이션은 문자열에만 적용할 수 있으며, 문자열이 null이거나 비어있거나 공백으로만 이루어져 있으면 안됩니다.

요약하면:

  • @NotNull: null만 불가능합니다.
  • @NotEmpty: null이거나 비어있는 컬렉션, 배열, 문자열은 불가능합니다.
  • @NotBlank: null, 비어있는 문자열, 공백만 있는 문자열은 불가능합니다.

각 어노테이션은 특정한 유효성 제약 조건을 나타내므로, 검사하려는 필드의 특성에 따라 적절한 어노테이션을 선택해야 합니다.