@MappedSuperclass 사용법

2023. 11. 23. 00:38· spring 🍀/spring-data-jpa
목차
  1. @MappedSuperclass
  2. 예시 코드

@MappedSuperclass

공통 매핑 정보가 필요할 때 사용하는 어노테이션이다.

 

@MappedSuperclass은 상속관계 매핑이 아니며, 엔티티도 아니고, 테이블과 매핑이 되지 않는다.

테이블과 관계 없고, 단순히 엔티티가 공통으로 사용하는 매핑 정보를 모으는 역할이다.

주로 등록일, 수정일, 등록자, 수정자 같은 전체 엔티티에서 공통으로 적용하는 정보를 모을 때 사용한다.

 

부모 클래스를 상속 받는 자식 클래스에게 매핑 정보만을 제공하며, 직접 생성해서 사용할 일 없으므로 추상 클래스로 사용하는 것을 권장한다.

해당 부모 클래스는 따로 조회나 검색이 불가능하다.

 

참고: @Entity 클래스는 엔티티나 @MappedSuperclass로 지정한 클래스만 상속 가능하다

 

예시 코드

@MappedSuperclass
public class BaseEntity {

    private String createdBy;
    private LocalDateTime createdDate;
    private String lastModifiedBy;
    private LocalDateTime lastModifiedDate;
}
@Entity
public class Member extends BaseEntity {

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

    private String username;
}
저작자표시 (새창열림)

'spring 🍀 > spring-data-jpa' 카테고리의 다른 글

Spring Data JPA Auditing으로 엔티티의 생성/수정 시각 자동으로 기록 + 생성자/수정자도 기록하기  (1) 2023.11.23
JPA N+1 문제 해결과정 ( join fetch + CountQuery)  (0) 2023.11.23
JPA 프록시와 지연로딩/즉시로딩  (1) 2023.11.23
JPA의 Entity는 기본 생성자가 왜 반드시 필요할까?  (1) 2023.11.20
EntityManager와 EntityManagerFactory  (0) 2023.11.20
  1. @MappedSuperclass
  2. 예시 코드
'spring 🍀/spring-data-jpa' 카테고리의 다른 글
  • Spring Data JPA Auditing으로 엔티티의 생성/수정 시각 자동으로 기록 + 생성자/수정자도 기록하기
  • JPA N+1 문제 해결과정 ( join fetch + CountQuery)
  • JPA 프록시와 지연로딩/즉시로딩
  • JPA의 Entity는 기본 생성자가 왜 반드시 필요할까?
이투디
이투디
이투디
이투디의 개발 블로그
이투디
전체
오늘
어제
  • 전체보기 (11)
    • spring 🍀 (10)
      • springboot (1)
      • spring-data-jpa (8)
      • spring-security (1)
    • study 📚 (1)
      • git (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
이투디
@MappedSuperclass 사용법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.