MappedSuperclass란?

@MappedSuperclass

스크린샷 2020-12-28 오후 10 08 22

공통 매핑 정보가 필요할 때 사용한다.

쉽게 이야기하면 똑같고 반복되는 속성이 존재할 때 공통 속성을 갖는 Entity를 상속받고 싶을 때 사용할 수 있다.

당연히 DB에 부모 테이블이 생성되는 것은 아니며 단순히 객체에서 공통된 필드들을 매번 Entity에 입력하기 귀찮을 때 사용해볼 수 있다.

그래서 상속관계 매핑이 아니며, 엔티티나 테이블과도 매핑되지 않는다.

부모 클래스를 상속ㅂ다는 자식 클래스에 대한 매핑 정보만 제공해주기 떄문에 조회, 검색이 불가능하다.

아무래도 직접 사용하는 경우가 없으므로 추상 클래스를 권장하고 있다.

테이블과 크게 관계가 없고 엔티티가 공통으로 사용하는 매핑 정보를 모으는 역할을 한다.

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

실무애서 하나 만들어두고 쓰면 꽤 편하게 쓸 수 있다.

Reference

인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편



© 2022. by minkuk

Powered by minkuk