package ch.alv.components.data.model;
import ch.alv.components.core.beans.Auditable;
import javax.persistence.*;
import java.util.Date;
/**
* Base implementation of an entity.
*
* @since 1.0.0
*/
@MappedSuperclass
public class BaseAuditableItem extends BaseModelItem implements Auditable<User> {
@JoinColumn
@ManyToOne(targetEntity = User.class)
private User createdBy;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date createdOn;
@JoinColumn
@ManyToOne(targetEntity = User.class)
private User lastUpdateBy;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date lastUpdateOn;
@Override
public User getCreatedBy() {
return createdBy;
}
@Override
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
@Override
public Date getCreatedOn() {
return createdOn;
}
@Override
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
@Override
public User getLastUpdateBy() {
return lastUpdateBy;
}
@Override
public void setLastUpdateBy(User lastUpdateBy) {
this.lastUpdateBy = lastUpdateBy;
}
@Override
public Date getLastUpdateOn() {
return lastUpdateOn;
}
@Override
public void setLastUpdateOn(Date lastUpdateOn) {
this.lastUpdateOn = lastUpdateOn;
}
}