728x90
package com.ssafy.piece.global.entity;
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 BaseTime {
// Entity가 생성되어 저장될 때 시간이 자동 저장됨
@CreatedDate
@Column(name = "created_at")
private LocalDateTime createdAt;
// 조회한 Entity 값을 변경할 때 시간이 자동 저장됨
@LastModifiedDate
@Column(name = "updated_at")
private LocalDateTime updatedAt;
}
BaseTime을 만들면 Entity에서 extends BaseTime 만 하고, createdAt, updatedAt을 따로 만들지 않아도 된다.
근데 서버를 돌렸더니 createdAt과 updatedAt만 컬럼만 생성되고 값은 null값이 들어가는게 아닌가? ??ㅠ
사실 저번 프젝때도 이랬었는데 그땐 에러가 여기저기 터져서 그냥 BaseTime을 빼버렸었다.
찾아보니 Appllication에 어노테이션을 추가해주니 해결되었다.
@EnableJpaAuditing
설명은 여기서 보자.