Spring boot 2

Spring boot에서 enum의 유연한 직렬화 및 역직렬화

Spring boot에서 enum을 유연하게 직렬화 및 역직렬화를 하려면 어떻게 해야할까?enum에는 FOURTH_GRADE, FIFTH_GRADE, SIXTH_GRADE로 정의했지만, 이 상수로 프론트엔드와 데이터를 주고 받는다면 프론트엔드에서 4학년, 5학년, 6학년으로 재변환해야한다는 문제가 있었다.이를 해결하기 위해 직렬화시 enum값을 4학년, 5학년, 6학년으로 변환하고, 역직렬화시에도 마찬가지로 이 값을 받아 OURTH_GRADE, FIFTH_GRADE, SIXTH_GRADE 상수로 변환되도록 구현하고 싶었다.직렬화: 객체들의 데이터를 연속적인 데이터로 변형하여 전송가능한 형태로 만드는 것(ex. 객체 → JSON)역직렬화: 직렬화된 데이터를 다시 객체 형태로 만드는 것(ex. JSON → ..

Spring boot 2025.11.14

JPA Entity Column의 기본값을 설정하는 방법

새로운 객체를 저장할 때 @ColumnDefault를 사용하면 필드값을 초기화하지 않을 경우 null 값이 필드에 들어가 설정한 기본값으로 DB에 저장될 거라고 생각했는데 설정한 기본값으로 저장되지 않고, null으로 저장되는 문제가 발생하였다. 문제를 해결하기 위해 @ColumDefault에 대해 조금 더 찾아보았다.@ColumnDefault@ColumDefault는 ddl-auto 옵션으로 DDL을 생성할 때 자동으로 default 제약사항을 넣어주는 어노테이션이다.@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Member { @Id @GeneratedValue(strategy = Generation..

Spring boot 2025.11.14