728x90
반응형
- 주로 Auditing 용도
- 반복적인 코딩을 줄일 수 있음
@PrePersist - insert가 실행되기 전
@PreUpdate - update가 실행되기 전
@PreRemove - delete가 실행되기 전
@PostPersist - insert가 실행된 후
@PostUpdate - update가 실행된 후
@PostRemove - delete가 실행된 후
@PostLoad - select가 실행된 후
- 실제로는 insert, update 직전에 공통적으로 해줄 작업이 있어서 @PrePersist, @PreUpdate 두 가지가 자주 쓰임
- @EntityListeners class는 bean을 주입받지 못한다
★ Spring에서 기본으로 제공하는 Audit이 있음 -> @EnableJpaAuditing
- 한 번에 간편하게 해결할 수 있는 BaseEntity
@Data
@MappedSuperclass // 이 클래스의 필드를 상속받는 클래스의 컬럼으로 넣음
@EntityListeners(value = AuditingEntityListener.class)
public class BaseEntity {
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
}
※ 출처 - 패스트캠퍼스, "안정적인 서비스를 위한 스프링DATA와 Security - JPA 프로그래밍"
반응형
'JPA' 카테고리의 다른 글
spring jpa db 초기화 설정 (0) | 2022.03.04 |
---|---|
Spring JPA 영속성 컨텍스트 (0) | 2022.02.28 |
@OneToOne - 1:1 연관관계 매핑 (0) | 2022.02.24 |
@Entity 기본속성 (1) | 2022.02.17 |