인프런 커뮤니티 질문&답변
@MappedSuperclass 질문
작성
·
539
0
@MappedSuperclass을 이용해서
지금 예제로 하고 있는 엔티티들의 id값을 BaseEntity로 만들어서 매핑 정보를 상속받는 식으로 개발을 해도 상관없는 건가요?
<BaseEntity.class>
@MappedSuperclass
public abstract class BaseEntity {
@Id @GeneratedValue
private Long id;
}
이렇게 만들어놓은 후에 각 엔티티마다 상속받게 하고,
@AttributeOverride로 매핑 정보를 재정의해서 하는 방식도 많이 쓰이는지 궁금합니다!
<Member.class>
@Entity
@Getter @Setter
@AttributeOverride(name = "id",
column = @Column(name = "member_id"))
public class Member extends BaseEntity {
private String name;
@Embedded
private Address address;
@OneToMany(mappedBy = "member")
private List<Order> orders = new ArrayList<>();
}
퀴즈
객체 상속 구조를 관계형 데이터베이스에 매핑할 때 마주하게 되는 주요 도전 과제는 무엇일까요?
SQL 구문 작성의 복잡성
객체 상속과 DB Supertype-Subtype 모델 간의 구조적 차이
데이터 저장 공간 부족 문제
트랜잭션 관리의 어려움






저런 식으로 사용이 가능한지 궁금했는데 궁금증이 풀렸습니다!!
좋은 답변 감사합니다!