인프런 커뮤니티 질문&답변

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

기본값 타입

값 타입이 한 Entity에 두 개 이상이 들어가면 어떻게 하나요?

해결된 질문

작성

·

172

1

예를 들면

<<Value Type>>

public class UploadFile {

private String uploadFileName;

private String storeFileName;

}

<<Entity>>

public class Member  {

private Long id;

private Uploadfile memberProfileImg;

private Uploadfile memberFriendImg;

}

이렇게 사용하고자 했을 때

값 타입의 컬럼명이 겹칠 것 같은데 DB에서는 어떻게 해석하나요?

답변 1

2

안녕하세요. 컴퓨터공부하자님, 공식 서포터즈 David입니다.
.

별도의 설정을 하지 않고 Entity 내 동일한 임베디드 타입은 2개이상 사용하면 자동으로 컬럼명을 만들어주는 기능이 동작하지 않습니다. 따라서 Spring Boot 실행이 실패하게 됩니다.

.

동일한 임베디드 타입을 엔티티 내에서 사용하려면 @AttributeOverrides를 사용하셔서 엔티티 내 각 임베디드 타입의 컬럼명을 지정해줄 수 있습니다.

아래 조회된 컬럼을 보시면 override한대로 잘 들어간 것을 볼 수 있습니다.

.
감사합니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기