Spring/게시판API서버

[Spring] 게시판 API (4) 생성일, 수정일 추가

wans10 2023. 3. 7. 17:04

게시글을 작성하고 저장하는 시점의 시간을 추가해 게시글이 언제 씌여졌는지 알 수 있게 해보려 한다.

일단 코드 먼저보자

전체 코드

@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
@Getter
public class TimeEntity {
    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime createdDate;
    @LastModifiedDate
    private LocalDateTime lastModifiedDate;
}

이 클래스를 게시글 클래스에 상속하여 사용하기만 하면 끝이다!  

 

@EntityListeners는 엔티티의 변화를 감지하고 테이블의 데이터를 조작하는 일을 한다.

@MappedSuperclass는 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다.

 

결과를 보자

원하는대로 잘 들어가긴 했는데 뭔가 맘에 안든다. 저 뒤에 소수점자리는 자르고 싶다.

 

코드를 변경해 보자.

public class TimeEntity {
    @CreatedDate
    @Column(updatable = false)
    private String createdDate;
    @LastModifiedDate
    private String lastModifiedDate;

    /**
     * @PrePersist : 엔티티 insert 이전 실행
     * @PreUpdate : 엔티티 update 이전 실행
     */
    @PrePersist
    public void onPrePersist(){
        this.createdDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
        this.lastModifiedDate = this.createdDate;
    }

    @PreUpdate
    public void onPreUpdate(){
        this.lastModifiedDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
    }
 }

위와 같이 변경하면 본인이 원하는 시간 포맷으로 변경이 가능하다.

 

요청을 보내 결과를 확인해보자.