Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- springdatajpa
- Thymeleaf
- Exception
- 스프링
- 스프링 핵심 기능
- spring
- Greedy
- 그리디
- transaction
- 백준
- 인프런
- kotlin
- jpa
- 알고리즘
- http
- QueryDSL
- Servlet
- Spring Boot
- java
- Proxy
- JDBC
- SpringBoot
- pointcut
- JPQL
- 스프링 핵심 원리
- 김영한
- db
- 자바
- AOP
- Android
Archives
- Today
- Total
개발자되기 프로젝트
@MappedSuperclass 본문
1. @MappedSuperclass
- 공통 매핑 정보가 필요할 때 사용(id, name)
- 예를 들어 객체 마다 모두 id 와 name이 있는데 매번 만들기 너무 귀찮음..
객체는 상속받아서 사용하면됨 - 상속 관계 매핑이 아니라 단순이 super class의 속성만 사용함.
- BaseEntity class
- @MappedSuperclass
@MappedSuperclass
public abstract class BaseEntity {
private String createdBy;
private LocalDateTime createdDate;
private String modifiedBy;
private String lastModifiedBy;
private LocalDateTime lastModifiedDate;
}
@Entity
public class Team extends BaseEntity{
Hibernate:
create table Team (
TEAM_ID bigint not null,
createdBy varchar(255),
createdDate timestamp,
lastModifiedBy varchar(255),
lastModifiedDate timestamp,
modifiedBy varchar(255),
name varchar(255),
primary key (TEAM_ID)
)
2. 정리
- 상속관계 매핑이 아님!
- 엔티티가 아님! 따라서 테이블과 매핑하지 않음!!
- 부모 클래스를 상속받는 자식 클래스에 매핑 정보만 제공
- 즉 부모클래스의 속성만 가져옴
- 엔티티가 아니니, 조회, 검색 불가
- 직접 생성해서 사용할 일이 없으니, 추상 클래스로 사용.
- 테이블과 관꼐 없고, 단순하게 엔티티가 공통으로 사용하는 매핑 정보를 모으는 역할임.
- 주로 등록일, 수정일, 등록자, 수정자 같은 전체 엔티티에서 공통으로 적용하는 정보를 모을 때 사용
- @Entity 클래스는 @Entity나 @MappedSuperclass로 지정한 클래스만 상속 가능.
3. GitHub : 210811 @MappedSuperclass
'인프런 > [인프런] 자바ORM 표준 JPA 프로그래밍' 카테고리의 다른 글
프록시 (0) | 2021.08.12 |
---|---|
[예제] 상속관계 매핑 (0) | 2021.08.11 |
상속관계 (0) | 2021.08.11 |
[예제] 다양한 연관관계 추가 (0) | 2021.08.11 |
다대다[N:M] (0) | 2021.08.11 |
Comments