一个简单实现
父类加注解:@MappedSuperclass
@MappedSuperclass
public class Traceability implements Serializable {
/**
* 创建时间
**/
private Date createDt;
/**
* 更新时间
**/
private Date updateDt;
/**
* 创建人员
**/
private String createBy;
/**
* 更新人员
**/
private String updateBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "create_dt")
public Date getCreateDt() {
return createDt;
}
public void setCreateDt(Date createDt) {
this.createDt = createDt;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "update_dt")
public Date getUpdateDt() {
return updateDt;
}
……
/**
* 自动设置 createBy,updateBy,createDt,updateDt
* 标记对象可追溯信息,时间,操作人
*
* @param isCreate 是否为创建当前对象
*/
public Traceability trace(boolean isCreate) {
String defaultOperator = "system";
Date now = new Date();
if (isCreate) {
if (StringUtils.isEmpty(this.createBy)) {
this.createBy = defaultOperator;
}
this.createDt = now;
} else {
this.createBy = null;
this.createDt = null;
}
if (StringUtils.isEmpty(this.updateBy)) {
this.updateBy = defaultOperator;
}
this.updateDt = now;
return this;
}
}
子类直接继承父类即可
@Entity
@Table(name = "om_member")
public class Member extends Traceability{
……
Traceability里面的属性就能加入到om_member表里面。