반응형
본격적인 차이로, @Column(nullable = false)는 JPA가 만든 엔티티의 필드 값이 null로 채워진 상태에서도 정상적으로 수행되다가 데이터베이스 쪽으로 SQL 쿼리가 도착한 순간에 테이블 컬럼의 NOT NULL 옵션에 의해 예외가 발생된다.
그러나 @NotNull 어노테이션은 데이터베이스 쪽으로 SQL 쿼리가 보내지기 전에, 정확히는 JPA가 만든 엔티티의 필드 값이 null로 채워지는 순간에 예외가 던져진다.
즉 @NotNull 어노테이션이 보다 더 빠른 단계에서 같은 예외를 검출하므로, 더 안전하다고 볼 수 있겠다.
@Valid 어노테이션에 대한 공부를 할 수 있어서 좋았다.
추가
1. @NotNull
해당 값이 null인지 체크하는 validation
2. @NotBlank
오직 문자열에만 사용이 가능한 Validation이다.
3. @NotEmpty
해당 컬렉션이 비어있는지 체크하는 validation이다.
참고
https://hyeon9mak.github.io/not-null-vs-column-nullable-false/
@NotNull vs @Column(nullable = false)
앞서 읽으면 좋은 글 - @NotNull 어노테이션 예외처리 핸들링
hyeon9mak.github.io
반응형
'Back-end > Spring' 카테고리의 다른 글
[Spring] Query Parameter vs Path Variable (2) | 2024.10.02 |
---|---|
[Spring] Security + JWT + Redis를 활용한 로그인 구현 (2) (0) | 2024.08.30 |
[Spring] 무한 redirection (0) | 2024.08.14 |
[Spring] Security + JWT + Redis를 활용한 로그인 구현 (1) (0) | 2024.07.20 |
[Spring] WebClient를 통한 공공데이터 Open API 호출 (0) | 2024.07.17 |