inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

JPA & Spring Data JPA 기초

JPA 기초 07 @Embeddable 다른 테이블에 매핑하기

7강에서 SecondaryTable을 왜 사용하지 모르겠습니다.

해결된 질문

650

tjd125gns

작성한 질문수 13

0

왜 SecondaryTable을 사용하는지 이해가 잘 안됩니다.

예시가 writer라는 엔티티 클래스에 엔티티가 아닌 클래스 2개 각각을 하나의 타입으로해서

writer라는 테이블의 속성으로 사용하는 것으로 이해되었습니다.

그럼 6강에서 배운것 처럼 그냥 WriterInfo와 Address 클래스는 @Embeddable를 선언하고

writer클래스에서

@Embedded private Address addr;

@Embedded private WriterInfo info;

이렇게 해서 사용해도 될거 같다고 생각합니다.

제가 제대로 이해하고 있는지가 궁금하고 혹시 이렇게 사용하지 않는 이유가 있는지 궁금합니다.

spring jpa

답변 1

1

최범균

@Embedded로 매핑할 대상이 엔티티와 같은 테이블이 아닌 다른 테이블인 경우에, 조인할 테이블을 알려주기 위해서 @SecondaryTable을 이용하는데요,

이해가 안 된다고 하는 부분이 @SecondaryTable 자체를 말씀하시는 걸까요? 아니면 @Embeddable을 다른 테이블로 매핑할 일이 있느냐를 말씀하시는 걸까요?

 

0

tjd125gns

답변 감사합니다.

제가 테이블이란 단어 자체에 대한 개념이 부족해서 생긴 문제인것 같습니다.

저는 @Entity가 있는 클래스만 DB에서 테이블(릴레이션)로 존재한다고 생각합니다.

나머지 Address 클래스와 WriterInfo 클래스는 그냥 하나의 타입(String, Int와 같은) 혹은 객체로 쓰이는 것이지 테이블이라고 생각안되는데 이것들도 테이블인가요? 그렇다면 @Embeddable한 클래스들도 DB에서 테이블로서 존재하게 되는건가요?

1

최범균

@Embeddable의 각 프로퍼티도 테이블의 칼럼으로 매핑됩니다.

6강 영상에 hotel 테이블과 hotel+address 클래스를 매핑하는 예가 나옵니다.

이 예를 한 두 차례 다시 보면 도움이 되실 겁니다.

안녕하세요 토비님 혹시 완성된 코드의 repository 주소는 없을까요?

0

6

0

자막 오타 제보

0

8

0

운영환경에 적용해볼 수 없을때...고민입니다 ㅠㅠ

0

13

1

rabbitmq에 configservice 연결에 대해 질문있습니다.

0

24

1

빈 스코프 개념의 중요성

0

23

1

트랙잭션 격리수준 선택에 대해서 질문

0

25

1

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

29

2

실무 내용 문의드려요

0

28

2

join에대해 질문드립니다.

0

23

1

코드 질문

0

35

2

To-Do App

0

27

1

twitterdb 연결이 안돼요

1

30

2

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

68

2

임포트 오류

0

40

2

답을언제쯤받아볼수있나요

0

65

2

형 책 어떻게 받아?

1

65

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

35

2

git 링크 안들어가져요 404에러

0

478

1

JoinColumn 질문

0

457

1

1:N 매핑과 해당 방식 차이가 뭔가요?

0

526

2

10강 3:37 질문

0

331

1

JPA 실무 @Entity을 @Embeddable 대체하는 경우가 많은가요?

0

554

1

도메인과 JPA 엔티티

0

813

1

상속 관계 엔티티 로직을 분기처리 하는 법?

0

369

1