package com.billpaymentservice.bbps.audit; import java.io.Serializable; import java.util.Date; 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 jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; import jakarta.persistence.Temporal; import jakarta.persistence.TemporalType; import lombok.Data; @Data @MappedSuperclass public abstract class Auditable implements Serializable { private static final long serialVersionUID = 1L; @CreatedDate @Temporal(TemporalType.TIMESTAMP) @Column(name = "create_date_time") protected Date createDateTime; @LastModifiedDate @Temporal(TemporalType.TIMESTAMP) @Column(name = "updated_date_time") protected Date updatedDateTime; @LastModifiedBy @Column(name = "updated_by") protected U updatedBy; @CreatedBy @Column(name = "create_by") protected U createdBy; @Column(name = "is_deleted") protected boolean isDeleted = false; }