개발자꿈나무

@MappedSuperclass 본문

자바/JPA

@MappedSuperclass

망재이 2023. 8. 18. 19:49

- 공통 매핑 정보가 필요할 때 사용하는 클래스

- 예를 들어 Member와 Team에 수정일자, 생성일자, 생성자, 수정자 속성을 추가한다고 하면 공통 속성들을 부모 클래스로 모을 수 있다.

- 추상클래스를 하나 만들고 @MappedSuperclass 어노테이션만 달아주면 끝이다.

- BaseEntity 클래스도 마찬가지로 @Column이나 @Id 어노테이션도 사용할 수 있다.

- Member와 Team 엔티티는 BaseEntity만 상속해주면 된다.

 

  • @MappedSuperclass는 상속관계를 매핑하는 거나 테이블을 매핑하는 것이 전혀 아니며, 엔티티의 공통 속성들을 모아놓은 클래스일 뿐이다.
  • 엔티티와는 상관없는 클래스이므로 조회나 검색이 불가하며 직접 생성해서 사용할 일이 없으므로 추상 클래스로 생성하는 것이 좋다.
728x90

'자바 > JPA' 카테고리의 다른 글

실전 예제 - 상속관계 매핑  (0) 2023.08.21
복합 키 매핑  (0) 2023.08.20
상속 관계 매핑  (0) 2023.08.18
실전 예제 - 다양한 연관관계 매핑  (0) 2023.08.17
다양한 연관관계 - 다대다  (0) 2023.08.17