개발/JPA

@Enumerated ORDINAL / STRING

멋진놈 2022. 11. 11. 09:38
728x90

@Enumerated 어노테이션은 두 가지 기능을 지원함.

EnumType.ORDINAL : enum 순서 값을 DB에 저장
EnumType.STRING : enum 이름을 DB에 저장
c

 

첫째 ORDINAL, Enum의 선언된 순서를 Integer 값으로 변환하여 DB 컬럼에 꽂아준다. 즉, Enum 내부에 선언된 상수들의 순서가 매우 중요하다. DB 컬럼은 numeric 타입이다. 

 

 

둘째 STRING, Enum의 선언된 상수의 이름을 String 클래스 타입으로 변환하여 DB에 꽂아준다. 즉, DB 클래스 타입은 String이다. 

@Enumerated(value = EnumType.STRING)
    private DeleteStatus isDeleted;

 

 

 

https://sas-study.tistory.com/415

 

JPA Entity 클래스에 Enum 타입 사용기 @Enumerated, AttributeConverter 활용(기본)

예전에 프로젝트를 했을 때, JPA에 String 클래스 타입으로 enum의 값을 넣었던것 같다. 코드로 예를 들면, // JPA Entity 클래스 ... @Entity public class Study { ... @Column(name = "study_type") private String studyType; } //

sas-study.tistory.com

 

https://lng1982.tistory.com/280

 

9. [JPA] @Enumerated

자바 enum 타입을 엔티티 클래스의 속성으로 사용할 수 있다.@Enumerated 애노테이션에는 두 가지 EnumType이 존재한다.EnumType.ORDINAL : enum 순서 값을 DB에 저장EnumType.STRING : enum 이름을 DB에 저장cs 예를

lng1982.tistory.com