728x90

@Converter 2

@Converter (부제 - 데이터 변환)

컨버터(converter)를 사용하면 엔티티의 데이터를 변환해서 데이터베이스에 저장할 수 있다. 자바의 boolean 타입은 방언에 따라 다르지만 데이터베이스에 저장될 때 0 또는 1인 숫자로 저장된다. 그런데 데이터베이스에 숫자 대신 문자 Y 또는 N으로 저장하고 싶다면 컨버터를 사용하면 된다. CREATE TABLE MEMBER ( ID VARCHAR(255) NOT NULL, USERNAME VARCHAR(255), VIP VARCHAR(1) NOT NULL, -- 변환할 컬럼 PRIMARY KEY(ID) ) 매핑할 테이블을 보면 문자 Y, N을 입력하려고 VIP 컬럼을 VARCHAR(1)로 지정했다. @Entity public class Member { @Id private String id; p..

JPA 2022.06.21

(JPA) Error attempting to apply AttributeConverter 에러 관련 글(feat. @Converter 사용시)

컬럼에서 DB에 데이터를 변환하는 @Converter 어노테이션을 쓰다가 아래와 같은 에러와 마주치게 되었다. JpaSystemException: Error attempting to apply AttributeConverter 이를 해결하기 위해 Converter를 구현하는 인터페이스를 살펴보기로 했다. JpaAttributeConverter 인터페이스와 구현체 JpaAttributeConverterImpl 는 JpaAttributeConverter 인터페이스의 표준 구현체이다. attributeConverterBean 이라는 멤버변수에 AttributeConverter인터페이스를 구현한 커스텀 컨버터들을 가지고 있다가 경우에 따라서 관계형 값을 도메인 값으로, 도메인 값을 관계형 값으로 변환을 해준다...

JPA 2022.03.26
728x90