Engineering Note

[JPA] @Enumerated 어노테이션 본문

Server/JPA ORM

[JPA] @Enumerated 어노테이션

Software Engineer Kim 2025. 6. 21. 21:02

오늘은 JPA의 Enumerated 어노테이션에 대해 알아보자.


JPA는 필드와 컬럼을 매핑하는데 Java에서 필드 타입을 enum을 사용하고 이 필드를 Database 컬럼가 매핑할 때 사용한다. 예를 들면, 회원을 일반회원과 관리자로 구분해야하는 요구사항에 있고, 이를 구현하기 위해 Member 엔티티에 RoleType 필드를 enum으로 설정했을 경우 이 필드를 Database 컬럼과 매핑하기 위해서는 @Enumerated로 매핑해야한다.

그리고 Enumerated에는 두 가지 속성이 있는데 'EnumType.STRING' 과 'EnumType.ORDINAL'이 있다. 아래 처럼 사용할 수 있다.

@Enumerated(EnumType.STRING)

 

@Enumerated(EnumType.ORDINAL)

 

 

 

public enum RoleType {
    USER, ADMIN
}

 

각각의 설정에 대해 알아보면, RoleType이 위처럼 되어 있을 때, EnumType.STRING로 설정하면 DB에는 USER, ADMIN으로 저장 되고 EnumType.ORDINAL 되어 있다면 USER는 '1'로, ADMIN은 '2'로 저장된다.

 

 

 

 

참고 자료: 자바 ORM 표준 JPA 프로그래밍

Comments