@PreUpdate, @PrePersist

jaegeunsong97·2024년 2월 6일
0

정의

@PreUpdate@PrePersist는 JPA에서 사용되는 라이프사이클 콜백 어노테이션입니다. 엔티티의 상태가 DB에 저장되기 전에 동작이 수행되도록 지정하는 데 사용됩니다.

@PreUpdate

엔티티의 상태가 업데이트 되기전에 실행되는 메소드입니다.

@Entity
public class YourEntity {

    // fields, getters, setters, etc.

    @PreUpdate
    public void beforeUpdate() {
        // Your logic before the entity is updated
    }
}

@PrePersist

엔티티가 처음으로 저장되기 직전에 호출됩니다. 엔티티가 저장되기 전에 필요한 초기화 작업을 수행하거나 생성일을 설정하는 작업에 사용됩니다.

@Entity
public class YourEntity {

    // fields, getters, setters, etc.

    @PrePersist
    public void beforePersist() {
        // Your logic before the entity is persisted (stored)
    }
}

결론

import java.time.LocalDateTime;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;

@Entity
public class Book {

    @Id
    private Long id;

    private String title;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

    // Constructors, getters, setters, etc.

    @PrePersist
    public void beforePersist() {
        // 엔터티가 저장되기 전에 호출되는 메서드
        this.createdAt = LocalDateTime.now();
        this.updatedAt = this.createdAt;
    }

    @PreUpdate
    public void beforeUpdate() {
        // 엔터티가 업데이트되기 전에 호출되는 메서드
        this.updatedAt = LocalDateTime.now();
    }
}

@PrePersist는 엔티티가 저장되기 전에 호출되는 메소드이고 @PreUpdate는 엔티티가 업데이트되기 전에 호출되는 메소드입니다.

profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글