43 lines
995 B
Java
43 lines
995 B
Java
package com.rosetta.im.database;
|
||
|
||
import java.time.LocalDateTime;
|
||
|
||
import jakarta.persistence.Column;
|
||
import jakarta.persistence.MappedSuperclass;
|
||
import jakarta.persistence.PrePersist;
|
||
import jakarta.persistence.PreUpdate;
|
||
|
||
/**
|
||
* Базовый класс для сущностей с полями
|
||
* времени создания и обновления
|
||
*/
|
||
@MappedSuperclass
|
||
public class CreateUpdateEntity {
|
||
|
||
@Column(name = "createdAt", nullable = false, updatable = false)
|
||
private LocalDateTime createdAt;
|
||
|
||
@Column(name = "updatedAt", nullable = false)
|
||
private LocalDateTime updatedAt;
|
||
|
||
@PrePersist
|
||
protected void onCreate() {
|
||
createdAt = LocalDateTime.now();
|
||
updatedAt = LocalDateTime.now();
|
||
}
|
||
|
||
@PreUpdate
|
||
protected void onUpdate() {
|
||
updatedAt = LocalDateTime.now();
|
||
}
|
||
|
||
public LocalDateTime getCreatedAt() {
|
||
return createdAt;
|
||
}
|
||
|
||
public LocalDateTime getUpdatedAt() {
|
||
return updatedAt;
|
||
}
|
||
|
||
}
|