728x90
반응형
1. @NotNull vs @Column(nullable = false) 차이점
두 설정 모두 "값은 비어있으면 안 된다"는 목적은 같지만, 검증하는 시점과 주체가 다릅니다.
| 구분 | @Column(nullable = false) | @NotNull (Jakarta Validation) |
| 역할 | DB 테이블에 NOT NULL 제약조건 생성 | 자바 애플리케이션 단에서 값 검증 |
| 체크 시점 | DB에 쿼리가 날아간 후 (저장 시점) | DB로 쿼리를 보내기 전 (메모리 단계) |
| 에러 결과 | DB 에러 (DataIntegrityViolation) | 유효성 검사 에러 (MethodArgumentNotValid) |
예시코드
@Entity
@Getter
@Setter
@Table(name = "p_review")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class ReviewEntity extends BaseEntity {
@NotNull
@Min(1)
@Max(5)
@Column(nullable = false)
private Integer rating;
}반응형
'Study' 카테고리의 다른 글
| [내일배움캠프 TIL] 15일차 - JAVA 프로그램 실행 방법(터미널에서), Clean Test 전략 (1) | 2026.04.24 |
|---|---|
| [내일배움캠프 TIL] 14일차 - 3. @LastModifiedBy가 동작을 안할때. (0) | 2026.04.23 |
| [내일배움캠프 TIL] 14일차 - 1. JPA 쿼리 메서드 주의할 점. (0) | 2026.04.22 |
| [내일배움캠프 TIL] 13일차 - security context, Authentication, @Secured (0) | 2026.04.22 |
| [내일배움캠프 TIL] 12일차 - JWT, Auth 구현(회원가입 로그인) (0) | 2026.04.21 |