7강에서 SecondaryTable을 왜 사용하지 모르겠습니다.
왜 SecondaryTable을 사용하는지 이해가 잘 안됩니다.
예시가 writer라는 엔티티 클래스에 엔티티가 아닌 클래스 2개 각각을 하나의 타입으로해서
writer라는 테이블의 속성으로 사용하는 것으로 이해되었습니다.
그럼 6강에서 배운것 처럼 그냥 WriterInfo와 Address 클래스는 @Embeddable를 선언하고
writer클래스에서
@Embedded private Address addr;
@Embedded private WriterInfo info;
이렇게 해서 사용해도 될거 같다고 생각합니다.
제가 제대로 이해하고 있는지가 궁금하고 혹시 이렇게 사용하지 않는 이유가 있는지 궁금합니다.
답변 1
1
@Embedded로 매핑할 대상이 엔티티와 같은 테이블이 아닌 다른 테이블인 경우에, 조인할 테이블을 알려주기 위해서 @SecondaryTable을 이용하는데요,
이해가 안 된다고 하는 부분이 @SecondaryTable 자체를 말씀하시는 걸까요? 아니면 @Embeddable을 다른 테이블로 매핑할 일이 있느냐를 말씀하시는 걸까요?
0
답변 감사합니다.
제가 테이블이란 단어 자체에 대한 개념이 부족해서 생긴 문제인것 같습니다.
저는 @Entity가 있는 클래스만 DB에서 테이블(릴레이션)로 존재한다고 생각합니다.
나머지 Address 클래스와 WriterInfo 클래스는 그냥 하나의 타입(String, Int와 같은) 혹은 객체로 쓰이는 것이지 테이블이라고 생각안되는데 이것들도 테이블인가요? 그렇다면 @Embeddable한 클래스들도 DB에서 테이블로서 존재하게 되는건가요?
1
@Embeddable의 각 프로퍼티도 테이블의 칼럼으로 매핑됩니다.
6강 영상에 hotel 테이블과 hotel+address 클래스를 매핑하는 예가 나옵니다.
이 예를 한 두 차례 다시 보면 도움이 되실 겁니다.
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
20
2
장치 의존성과 CSR
0
17
0
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
8
1
[영한님]Spring Boot 및 프로젝트 생성
0
33
2
리뉴얼 시기
0
21
2
JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
0
44
3
강의 요청 문의
0
36
2
클로드코드 명령어-대화&세션관리 수업 자료
0
36
1
PlatformTransactionManager, ResourcelessTransactionManager 질문
1
53
2
자료 한번에 다운받기
0
28
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
53
1
mybatis 를 이용한 crud에서 insert에서 resultType='long" 이라고 하셨는데요,
0
24
1
설계 트레이드 오프 링크 접속 안됨
0
80
2
테스트 질문, 어떤것을 사용할것인것에 대해서
0
40
1
깃허브주소 궁금합니다.
0
35
2
mariaDB 설정
0
29
1
섹션4 퀴즈 오타있어요.
0
41
1
git 링크 안들어가져요 404에러
0
493
1
JoinColumn 질문
0
470
1
1:N 매핑과 해당 방식 차이가 뭔가요?
0
542
2
10강 3:37 질문
0
344
1
JPA 실무 @Entity을 @Embeddable 대체하는 경우가 많은가요?
0
566
1
도메인과 JPA 엔티티
0
830
1
상속 관계 엔티티 로직을 분기처리 하는 법?
0
380
1





