Goods.java
Java/Baasid/src/main/java/com/baasid/entity/Goods.java
package com.baasid.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.PrePersist;
import jakarta.persistence.PreUpdate;
import jakarta.persistence.Table;
import java.time.LocalDateTime;
import java.util.UUID;
/**
* 商品實體,對應資料表 {@code goods}。
* <p>
* 含建立者/最後更新者(皆關聯 {@link SystemUser}),以及由 JPA 生命週期回呼維護的時間欄位。
*/
@Entity
@Table(name = "goods")
public class Goods {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
@Column(name = "_id", updatable = false, nullable = false)
private UUID id;
@Column(name = "name", length = 128, nullable = false)
private String name;
/** 建立者;插入後不可改關聯(updatable = false)。 */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "cr_user", nullable = false, updatable = false)
private SystemUser crUser;
@Column(name = "cr_datetime")
private LocalDateTime crDatetime;
/** 最後更新者;每次更新可變更。 */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "up_user", nullable = false)
private SystemUser upUser;
@Column(name = "up_datetime")
private LocalDateTime upDatetime;
public Goods() {}
/** 首次 {@code persist} 時填寫建立時間與更新時間為同一時間點。 */
@PrePersist
public void prePersist() {
LocalDateTime now = LocalDateTime.now();
this.crDatetime = now;
this.upDatetime = now;
}
/** 每次 {@code merge}/更新實體時刷新最後更新時間。 */
@PreUpdate
public void preUpdate() {
this.upDatetime = LocalDateTime.now();
}
public UUID getId() { return id; }
public void setId(UUID id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public SystemUser getCrUser() { return crUser; }
public void setCrUser(SystemUser crUser) { this.crUser = crUser; }
public LocalDateTime getCrDatetime() { return crDatetime; }
public void setCrDatetime(LocalDateTime crDatetime) { this.crDatetime = crDatetime; }
public SystemUser getUpUser() { return upUser; }
public void setUpUser(SystemUser upUser) { this.upUser = upUser; }
public LocalDateTime getUpDatetime() { return upDatetime; }
public void setUpDatetime(LocalDateTime upDatetime) { this.upDatetime = upDatetime; }
}
Bài viết liên quan
init.sql
init.sql — sql source code from the Java learning materials (Java/Baasid/sql/init.sql).
Đọc bài viết →BaasidApplication.java
BaasidApplication.java — java source code from the Java learning materials (Java/Baasid/src/main/java/com/baasid/BaasidApplication.java).
Đọc bài viết →DataInitializer.java
DataInitializer.java — java source code from the Java learning materials (Java/Baasid/src/main/java/com/baasid/config/DataInitializer.java).
Đọc bài viết →OpenApiConfig.java
OpenApiConfig.java — java source code from the Java learning materials (Java/Baasid/src/main/java/com/baasid/config/OpenApiConfig.java).
Đọc bài viết →SecurityConfig.java
SecurityConfig.java — java source code from the Java learning materials (Java/Baasid/src/main/java/com/baasid/config/SecurityConfig.java).
Đọc bài viết →AuthController.java
AuthController.java — java source code from the Java learning materials (Java/Baasid/src/main/java/com/baasid/controller/AuthController.java).
Đọc bài viết →