|
|
package sut.edu.zyp.dormitory.manage.entity;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
import java.util.Date;
|
|
|
|
|
|
import org.hibernate.annotations.GenericGenerator;
|
|
|
import org.springframework.data.annotation.CreatedDate;
|
|
|
import org.springframework.data.annotation.LastModifiedDate;
|
|
|
|
|
|
import javax.persistence.*;
|
|
|
|
|
|
/**
|
|
|
* 基础实体对象父类,所有的数据库表都要有的通用字段,其他所有的实体类(entity类)都需要继承此父类
|
|
|
*
|
|
|
* @author zyp
|
|
|
* @version 0.0.1
|
|
|
* @since 0.0.1
|
|
|
*/
|
|
|
@MappedSuperclass
|
|
|
public abstract class AbstractBaseEntity implements Serializable {
|
|
|
|
|
|
/**
|
|
|
* id,用于唯一标识数据库的某一行记录,全局唯一
|
|
|
*/
|
|
|
@Id
|
|
|
@GenericGenerator(name = "idGenerator", strategy = "uuid")
|
|
|
@GeneratedValue(strategy = GenerationType.AUTO, generator = "idGenerator")
|
|
|
@Column(unique = true, nullable = false, length = 32)
|
|
|
private String id;
|
|
|
|
|
|
/**
|
|
|
* 创建时间,数据库记录第一次创建时的时间
|
|
|
*/
|
|
|
@Column(name = "create_time", nullable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
|
|
|
@CreatedDate
|
|
|
private Date createTime;
|
|
|
|
|
|
/**
|
|
|
* 更新时间,数据库数据记录最后一次变更时间
|
|
|
*/
|
|
|
@Column(name = "update_time", nullable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
|
|
|
@LastModifiedDate
|
|
|
private Date updateTime;
|
|
|
|
|
|
/**
|
|
|
* 版本号,用于数据库的乐观锁,每次数据库记录发生变更,自动加1,首次变更为0
|
|
|
*/
|
|
|
@Version
|
|
|
private Integer version;
|
|
|
|
|
|
/**
|
|
|
* 是否有效,用于数据库数据的逻辑删除,而非物理删除
|
|
|
*/
|
|
|
@Column(length = 1)
|
|
|
private String valid = "1";
|
|
|
|
|
|
public String getId() {
|
|
|
return id;
|
|
|
}
|
|
|
|
|
|
public void setId(String id) {
|
|
|
this.id = id;
|
|
|
}
|
|
|
|
|
|
public Date getCreateTime() {
|
|
|
return createTime;
|
|
|
}
|
|
|
|
|
|
public void setCreateTime(Date createTime) {
|
|
|
this.createTime = createTime;
|
|
|
}
|
|
|
|
|
|
public Date getUpdateTime() {
|
|
|
return updateTime;
|
|
|
}
|
|
|
|
|
|
public void setUpdateTime(Date updateTime) {
|
|
|
this.updateTime = updateTime;
|
|
|
}
|
|
|
|
|
|
public Integer getVersion() {
|
|
|
return version;
|
|
|
}
|
|
|
|
|
|
public void setVersion(Integer version) {
|
|
|
this.version = version;
|
|
|
}
|
|
|
|
|
|
public String getValid() {
|
|
|
return valid;
|
|
|
}
|
|
|
|
|
|
public void setValid(String valid) {
|
|
|
this.valid = valid;
|
|
|
}
|
|
|
}
|