강의

멘토링

커뮤니티

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

구구님의 프로필 이미지
구구

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발1

@embedded , @Inheritance

작성

·

359

0

안녕하세요!

@Inheritance(strategy = InheritanceType.JOINED) 이 한 테이블에 필드를 모두 합치는 것이라 하셨는데 

1. 아래 코드처럼 @embedded 를 사용하는 것과 어떤 차이가 있을까요?

2. 그리고 @embedded 는 composition 개념인가요?


@Entity
@Getter
@Setter
public class Item {

    @Id
    @GeneratedValue
    @Column(name = "item_id")
    private Long id;

    private String name;
    private int price;
    private int stockQuantity;
    
    @Embedded
    private Book book ;

    @Embedded
    private Album album;

    @Embedded
    private Movie movie;
}

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 구구님^^

객체지향에서 말하는 상속과 위임의 차이입니다.

그리고 InheritanceType.JOINED 전략은 중심 테이블을 두고 구체적인 테이블을 각각 분리합니다. 합치는 전략은 SINGLE_TABLE 입니다.

감사합니다.

구구님의 프로필 이미지
구구

작성한 질문수

질문하기