JPA Auditing - BaseTimeEntity
๐ JPA Auditing ์ฌ์ฉํ๊ธฐ
- jpa๊ฐ ์ ๊ณตํ๋ audit ๊ธฐ๋ฅ์ผ๋ก, ์๊ฐ์ ์๋์ผ๋ก ๊ฐ์ ๋ฃ์ด์ค > ์๋์ผ๋ก ์๊ฐ์ ๋งตํํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ฃ์ด์ค
- ๋ฐ์ดํฐ์ ์์ฑ์๊ฐ, ์์ ์๊ฐ, ํน์ ์์ฑํ ์ฌ๋ ๋ฑ์ ์ ์ฅํด์ผํ ๋
- ๋งค๋ฒ ๋ชจ๋ ์ํฐํฐ์ ์ปฌ๋ผ์ผ๋ก ์ง์ ํด์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ์ ๋ฒ๊ฑฐ๋ก์
BaseTimeEntity
package com.sejongmate.common.domain;
import jakarta.persistence.Column;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.MappedSuperclass;
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime;
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime lastModifiedDate;
}
@MappedSuperclass
: Jpa ์ํฐํฐ ํด๋์ค๊ฐ BaseTimeEntity๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ ํด๋น ํด๋์ค๊ฐ ๊ฐ์ง ํ๋๋ ์ด๋ก ์ธ์๋๋๋ก ํจ@EntityListeners(AuditingEntityListener.class)
: Auditing ๊ธฐ๋ฅ ์ ๊ณต@CreatedDate
: ์์ฑ ์๊ฐ ์๋ ์ ์ฅ@LastModifiedDate
: ๋ณ๊ฒฝ ์๊ฐ ์๋ ์ ์ฅ- ์ํ๋ Entity ํด๋์ค์ ์์ ํด๋์ค ์์ํ ํ, main application ํด๋์ค์ ๋ฐ๋์
@EnableJpaAuditing
์ด๋ ธํ ์ด์ ์ ์ถ๊ฐํด์ฃผ์ด์ผ ํจ
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ์ํฐํฐ๋ฅผ DTO๋ก ๋ณํํ API ์ค๊ณ (0) | 2023.04.23 |
---|---|
[Spring] ์ํฐํฐ๋ฅผ ๋ ธ์ถํ API ์์ฑํ๊ธฐ (0) | 2023.04.21 |
[Spring] ๋ณ๊ฒฝ ๊ฐ์ง์ ๋ณํฉ(merge) (1) | 2023.04.19 |
[Spring] AWS + Docker ์ด์ฉํด ์๋ฒ ๋ฐฐํฌํ๊ธฐ (0) | 2023.04.18 |
[Spring CICD] AWS + Docker + Github Action ์ด์ฉํด ์๋ฒ ์๋๋ฐฐํฌํ๊ธฐ (1) | 2023.04.18 |