package com.dalab.autocompliance.model.entity; import jakarta.persistence.Column; import jakarta.persistence.EntityListeners; import jakarta.persistence.MappedSuperclass; import lombok.Data; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import java.io.Serializable; import java.time.Instant; @Data @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class AbstractAuditableEntity implements Serializable { private static final long serialVersionUID = 1L; @CreatedBy @Column(name = "created_by", nullable = false, length = 50, updatable = false) private String createdBy; @CreatedDate @Column(name = "created_date", nullable = false, updatable = false) private Instant createdDate = Instant.now(); @LastModifiedBy @Column(name = "last_modified_by", length = 50) private String lastModifiedBy; @LastModifiedDate @Column(name = "last_modified_date") private Instant lastModifiedDate = Instant.now(); }