@Converter
- 역할 : 해당 클래스를 컨버터 클래스로 등록
- 경로 : jakarta.persistence.Converter
AttributeConverter<X,Y>
- 역할 : 컨버터 클래스 구현을 위한 인터페이스
- 경로 : jakarta.persistence.AttributeConverter
사용 방법
- AttributeConverter 인터페이스를 구현한 클래스를 생성한다.
- 해당 클래스에 @Converter 어노테이션을 붙인다.
- 서로 매핑될 데이터 유형을 지정한다.
- 컨버터를 사용할 필드에 @Convert 어노테이션을 지정해주면 된다.
설명
convertToDatabaseColumn
- 지정한 메소드 시그니쳐로 통해 전달받은 값을 DB에 저장하기 위해 가공하는 과정이다.
- AttributeConverter를 통해 X라는 자료형으로 넘겨받은 파라미터를 Y라는 자료형으로 변환해서 저장한다.
convertToEntityAttribute
- 해당 엔티티의 값을 조회할 때 그 값을 가공하는 방식을 지정한다.
- AttributeConverter를 통해 지정한 X라는 자료형으로 변환한다.
예제 (컨버터)
예제 (컨버터 사용)