강의참고 - 자바 ORM 표준 JPA 프로그래밍 - 기본편
자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의
JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런
목표
- 공통정보매핑에 관련된 어노테이션의 종류와 사용법을 익힌다.
공통 정보 매핑 어노테이션
@MappedSuperClass
- 등록일, 수정일, 등록자, 수정자 같이 전체 엔티티에 공통으로 적용하는 정보를 모아놓은 엔티티에 사용하는 어노테이션이다.
- 부모 클래스를 상속받는 자식 클래스에 매핑 정보만 제공한다.
- 조회, 검색[em.find()]이 불가능하다.
- 직접 생성해서 사용할 일이 없으므로 추상 클래스로 구현을 권장한다.
@CreatedDate, @LastModifiedDate
- 등록일, 수정일로 사용 할 필드에 사용하면 insert / Insert, Update 시에 현재 시간을 넣어준다.
@MappedSuperClass 구현코드
@EntityListeners(AuditingEntityListener.class)
@Getter
@Setter
@MappedSuperclass
public class BaseEntity {
@Column(name = "CREATED_BY", updatable = false)
private String createdBy;
@Column(name = "UPDATED_BY")
private String updatedBy;
@CreatedDate
@Column(name = "CREATED_DATE", updatable = false)
private LocalDateTime createdDate;
@LastModifiedDate
@Column(name = "UPDATED_DATE")
private LocalDateTime updatedDate;
}
@Entity
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Member extends BaseEntity {
@Id
@Column(name = "MEMBER_ID")
private Long memberId;
@Column(name = "MEMBER_NAME")
private String memberName;
}
'JPA' 카테고리의 다른 글
영속성 전이와 고아객체 (0) | 2022.12.04 |
---|---|
프록시와 연관관계 관리 (0) | 2022.12.04 |
상속관계 매핑 (0) | 2022.11.29 |
연관관계 매핑 (0) | 2022.11.27 |
DDL 자동 생성 및 엔티티 매핑 (0) | 2022.11.27 |