JPA2 @NotNull vs @Column(nullable = false) 앞서 읽으면 좋은 글 - @NotNull 어노테이션 예외처리 핸들링 summary lombok에서 지원하는 @NonNull 어노테이션을 통해 엔티티의 필드를 검증하던 중, javax.validation.constraints의 @NotNull 어노테이션도 엔티티에 붙여 사용할 수 있음을 알게 되었다. @NotNull과 @Column(nullable = false)의 차이 엔티티 필드의 null을 검증하기 위해서 대표적으로 사용되는 어노테이션이 @Column(nullable = false)이다. @NotNull과 어떤 차이가 있을까? 어떤걸 사용해야할까? 우선 @Column(nullable = false)을 사용할 때와 마찬가지로 @NotNull 역시 테이블 생성시 NOT NULL DDL이 입력된다. 이는 .. 2021. 8. 24. @NotNull 어노테이션 예외처리 핸들링 summary lombok에서 지원하는 @NonNull 어노테이션을 통해 엔티티의 필드를 검증하던 중, @NonNull 어노테이션이 필드에 Null 값이 주입될 경우 NullPointerException이 던져지는 것을 발견했다. 프로젝트의 ControllerAdivce 구조상 RuntimeException을 한꺼번에 처리하고 있었기 때문에, RumtimeException을 상속한 NullPointerException 대신 custom exception이나 별도의 exception이 던져지길 원했다. (꼭 @NonNull이 아니어도 충분히 다른 이유에서 NullPointerException이 던져질 수도 있었다.) @RestControllerAdvice public class BabbleAdvice { .. 2021. 8. 24. 이전 1 다음