package com.hantsylabs.example.spring.model; import java.util.Date; import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.MappedSuperclass; import javax.persistence.Temporal; import javax.persistence.TemporalType; @MappedSuperclass @EntityListeners(value = { AuditEntityListener.class }) public class AuditableEntity extends PersistableEntity{ @ManyToOne @JoinColumn(name = "created_by") private User createdBy; @Temporal(TemporalType.TIMESTAMP) @Column(name = "created_date") private Date createdDate; @ManyToOne @JoinColumn(name = "last_modified_by") private User modifiedBy; @Temporal(TemporalType.TIMESTAMP) @Column(name = "last_modified_date") private Date modifiedDate; public User getCreatedBy() { return createdBy; } public void setCreatedBy(User createdBy) { this.createdBy = createdBy; } public Date getCreatedDate() { return createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } public User getModifiedBy() { return modifiedBy; } public void setModifiedBy(User modifiedBy) { this.modifiedBy = modifiedBy; } public Date getModifiedDate() { return modifiedDate; } public void setModifiedDate(Date modifiedDate) { this.modifiedDate = modifiedDate; } }