[Spring] AttributeConverter

춤추는 머쉬룸·2024년 5월 11일
0

2024 CNU NHN ACADEMY

목록 보기
12/15
post-thumbnail

JPA에서 제공하는 AttributeConverter를 사용하면 DB에 '요청을 날리기 전' / 'DB에 저장된 값을 불러올 때' 자동으로 값을 변환해서 넣어준다.

명세에 있는 첫 번째 제네릭 X는 Entity의 Field 자료형, 두 번째 제네릭 Y는 Database Column 자료형을 나타낸다.


public class ViewTypeConverter implements AttributeConverter<ViewType, Integer> {
    @Override
    public Integer convertToDatabaseColumn(ViewType viewType) {
        if (viewType == null) {
            return null;
        }
        return viewType.getDbValue();
    }

    @Override
    public ViewType convertToEntityAttribute(Integer integer) {
        if (integer == null) {
            return null;
        }
        return ViewType.fromDbValue(integer);
    }
}

Y convertToDatabaseColumn (X attribute) : DB에 요청을 전송할 때 수행
X convertToEntityAttribute (Y dbData): DB에서 불러온 값을 Entity 필드에 바인딩할 때 수행

0개의 댓글