package com.rongyichuang.common.entity;
|
|
import jakarta.persistence.*;
|
|
import java.time.LocalDateTime;
|
|
/**
|
* 基础实体类
|
*/
|
@MappedSuperclass
|
public abstract class BaseEntity {
|
|
@Id
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private Long id;
|
|
/**
|
* 创建时间
|
*/
|
@Column(name = "create_time", nullable = false, updatable = false)
|
private LocalDateTime createTime;
|
|
/**
|
* 更新时间
|
*/
|
@Column(name = "update_time")
|
private LocalDateTime updateTime;
|
|
/**
|
* 创建用户ID
|
*/
|
@Column(name = "create_user_id")
|
private Long createUserId;
|
|
/**
|
* 更新用户ID
|
*/
|
@Column(name = "update_user_id")
|
private Long updateUserId;
|
|
/**
|
* 版本号(乐观锁)
|
*/
|
@Version
|
@Column(name = "version", nullable = false)
|
private Long version = 0L;
|
|
@PrePersist
|
protected void onCreate() {
|
createTime = LocalDateTime.now();
|
updateTime = LocalDateTime.now();
|
if (version == null) {
|
version = 0L;
|
}
|
}
|
|
@PreUpdate
|
protected void onUpdate() {
|
updateTime = LocalDateTime.now();
|
}
|
|
// Getters and Setters
|
public Long getId() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public LocalDateTime getCreateTime() {
|
return createTime;
|
}
|
|
public void setCreateTime(LocalDateTime createTime) {
|
this.createTime = createTime;
|
}
|
|
public LocalDateTime getUpdateTime() {
|
return updateTime;
|
}
|
|
public void setUpdateTime(LocalDateTime updateTime) {
|
this.updateTime = updateTime;
|
}
|
|
public Long getCreateUserId() {
|
return createUserId;
|
}
|
|
public void setCreateUserId(Long createUserId) {
|
this.createUserId = createUserId;
|
}
|
|
public Long getUpdateUserId() {
|
return updateUserId;
|
}
|
|
public void setUpdateUserId(Long updateUserId) {
|
this.updateUserId = updateUserId;
|
}
|
|
public Long getVersion() {
|
return version;
|
}
|
|
public void setVersion(Long version) {
|
this.version = version;
|
}
|
}
|