JPA - 현재 시간으로 빌드/자동 날짜 삽입

anonymous·2022년 7월 21일
0

문제

entity에서 날짜가 null로 찍혀서 nullpointer 오류 발생

JoinStep.builder().userId(userId).build();

해결

현재 시간으로 빌드/자동 날짜 삽입

수정일

    @Setter
    @LastModifiedDate
    @Column(name = "modified_date_time", nullable = false)
    private LocalDateTime modifiedDateTime;
    
    @PrePersist
    protected void prePersist() {
        if (this.modifiedDateTime == null) modifiedDateTime = LocalDateTime.now();
        // if (this.createDateTime == null) createDateTime = LocalDateTime.now();
    }
    }

    @PreUpdate
    protected void preUpdate() {
        this.modifiedDateTime = LocalDateTime.now();
    }

    @PreRemove
    protected void preRemove() {
        this.modifiedDateTime = LocalDateTime.now();
    }

생성일

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@EnableJpaAuditing
public abstract class BaseCreatedDateEntity {
    @CreatedDate
    //@Column(nullable = false)
    @Column(name = "create_date_time", nullable = false)
    private LocalDateTime createDateTime;
    
    @PrePersist
    protected void prePersist() {
        if (this.createDateTime == null) createDateTime = LocalDateTime.now();
    }
}

출처

profile
기술블로거입니다

0개의 댓글