BaseTimeEntity
모든 Entity의 상위 클래스가 되어 Entity들의 createdDate, modifiedDate를 자동으로 관리하는 역할을 함
BaseTimeEntity.java
- @MappedSuperclass : JPA Entity 클래스들이 BaseTimeEntity를 상속할 경우 필드들도 칼럼으로 인식하도록 함
- @EntityListeners(AuditingEntityListener.class) : Auditing 기능 포함
- @CreatedDate : 생성될 때 자동 저장
- @LastModifiedDate : 수정될 때 자동 저장
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.time.LocalDateTime;
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
@CreatedDate
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime modifiedDate;
}
BaseTimeEntity 상속
public class Posts extends BaseTimeEntity {
...
}
JPA Auditing 어노테이션 활성화
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
반응형
'Project > Study' 카테고리의 다른 글
[Git] Git Bash계정 변경 (0) | 2021.08.31 |
---|---|
[Spring Boot] Mustache (0) | 2021.08.04 |
[Spring Boot] Spring Data JPA (0) | 2021.08.03 |
[Spring Boot] Unit Test 코드 (0) | 2021.08.03 |
[Spring Boot] Lombok (0) | 2021.08.03 |
댓글