建立一个baseEntity类,类中含有两个属性,算了,直接上代码
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.annotations.GenericGenerator;
import com.trs.netInsight.util.UserUtils;
import com.trs.netInsight.widget.user.entity.User;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = -2955330485748809219L;
protected interface SaveView {}
public interface DisplayView {}
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(name = "`id`")
private String id;
/**
* 对象创建时间
*/
@Column(name = "`created_time`", updatable = true)
private Date createdTime;
/**
* 创建用户
*/
@Column(name = "`createduser_id`", updatable = false)
private String createdUserId;
/**
* 最后修改时间
*/
@Column(name = "`last_modified_time`")
private Date lastModifiedTime;
/**
* 最后修改用户
*/
@Column(name = "`last_modifieduser_id`")
private String lastModifiedUserId;
@PreUpdate // 此处能实现实时记录最后操作时间
protected void onUpdate() {
lastModifiedTime = new Date();
// System.out.println(UserUtils.getUser());
lastModifiedUserId = UserUtils.getUser().getId();
// RedisFactory.deleteAllKey(id);
}
}
其他实体类想实现记录操作信息的只需要继承他即可。