@ColumnDefault
@ColumnDefault
란?Hibernate에서 제공하는 어노테이션으로, 특정 컬럼의 기본값을 설정하는 데 사용된다.
주요 특징
- Hibernate 전용 어노테이션으로 JPA 표준이 아님
- 컬럼의 기본값을 설정하여 NULL 값 방지
- SQL
DEFAULT
값을 설정하는 방식과 동일
사용법
1️⃣ @ColumnDefault
적용 예제
import org.hibernate.annotations.ColumnDefault;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ColumnDefault("'ACTIVE'")
@Column(nullable = false)
private String status;
}
2️⃣ SQL 기본값 설정과 비교
방법 | 설명 | 적용 대상 |
---|---|---|
@ColumnDefault |
Hibernate 어노테이션 사용 | JPA 엔티티 |
DEFAULT |
SQL 스키마에서 기본값 설정 | 데이터베이스 테이블 |
장점과 단점
✅ 장점
- 기본값을 코드에서 명시적으로 설정 가능
- 엔티티 레벨에서 기본값을 관리하여 유지보수 용이
❌ 단점
- JPA 표준이 아니라 Hibernate에 종속됨
- DBMS에 따라 작동 방식이 다를 수 있음
댓글남기기