[ Spring ] enum의 원하는 상태 값을 DB에 저장하기
2022.03.23
JPA를 사용하면서 엔티티의 상태 값 중 enum이 있을 때 enum의 순서(상수 값)나 이름(문자열 값)이 아니라 원하는 데이터를 저장하고 꺼내고 싶을 수 있습니다. JPA 2.1부터는 AttributeConverter를 제공하여 이것이 가능하도록 해줍니다. (JPA 구현체 중 Hibernate 5 기준입니다.) 문제 상황 예시 은행 코드 enum인 BankCode가 있습니다. DB에 저장할 때 BankCode의 코드 값이 DB에 저장되고, 엔티티로 직렬화 할 때도 코드 값을 통해 가능하도록 하고 싶습니다. 엔티티는 다음과 같습니다. @Entity public class BankTransaction { @Id @Column(name = "bank_transaction_id") private Long i..