LocalDateTime에서 자동으로 시간을 넣어주는 방법이 있다.
package com.b210.damda.domain.entity;
import com.b210.damda.domain.dto.UserUpdateDTO;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.time.LocalDateTime;
@Entity
@Getter
@ToString
@Builder
@EntityListeners(AuditingEntityListener.class)
public class User {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String email;
private String password;
private String nickname;
@Column(name = "create_date")
@CreatedDate
private LocalDateTime createDate;
@Column(name = "update_date")
private LocalDateTime updateDate;
public User() {
}
public User(Long id, String email, String password, String nickname, LocalDateTime createDate, LocalDateTime updateDate) {
this.id = id;
this.email = email;
this.password = password;
this.nickname = nickname;
this.createDate = createDate;
this.updateDate = updateDate;
}
public void updatePassword(String newPassword) {
this.updateDate = LocalDateTime.now();
this.password = newPassword;
}
public void updateNickname(String newNickname) {
this.updateDate = LocalDateTime.now();
this.nickname = newNickname;
}
}
엔터티에는 @EntityListeners(AuditingEntityListener.class) 이걸 넣어주고 생성시간 컬럼에는
@CreatedDate를 붙여준다.
또 메인 어플리케이션에 @EnableJpaAuditing 이걸 붙여주면 된다.