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; } }