Java 插入和更新时使用utc时间自动更新上次更新的字段
假设我有以下DB表:Java 插入和更新时使用utc时间自动更新上次更新的字段,java,spring,spring-data-jpa,Java,Spring,Spring Data Jpa,假设我有以下DB表: CREATE TABLE REQUEST ( ID BIGINT AUTO_INCREMENT PRIMARY KEY, LABEL NVARCHAR(32) NOT NULL, STATUS NVARCHAR(10) NOT NULL, ERROR_MESSAGE NVARCHAR(200), LAST_UPDATED DATETIME
CREATE TABLE REQUEST
(
ID BIGINT AUTO_INCREMENT PRIMARY KEY,
LABEL NVARCHAR(32) NOT NULL,
STATUS NVARCHAR(10) NOT NULL,
ERROR_MESSAGE NVARCHAR(200),
LAST_UPDATED DATETIME NOT NULL
);
和JPA实体类:
@Entity
@Table(name = "REQUEST")
public class Request implements Serializable {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "LABEL")
private String label;
@Column(name = "STATUS")
@Enumerated(EnumType.STRING)
private Status status;
@Column(name = "ERROR_MESSAGE")
private String errorMessage;
@Column(name = "LAST_UPDATED")
private LocalDateTime lastUpdated;
}
是否有一种方法可以使用Spring JPA在每次插入或更新行时自动将lastUpdated
字段更新为UTC时间戳,而无需为每次更新使用setter:
entity.setLastUpdated(nowTimeUTC())
repo.save(entity)
使用
设置您的时区
@LastModifiedDate
@Column(name = "LAST_UPDATED")
private LocalDateTime lastUpdated;