From 36fa4ea570d51b82d2298d4fd9248aaefd513d0e Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Wed, 9 Jul 2025 13:50:16 +0800 Subject: [PATCH] Fix default creation timestamps --- src/main/java/com/openisle/model/Comment.java | 9 ++++----- src/main/java/com/openisle/model/Notification.java | 10 ++++------ src/main/java/com/openisle/model/Post.java | 9 ++++----- src/main/java/com/openisle/model/User.java | 10 ++++------ 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/openisle/model/Comment.java b/src/main/java/com/openisle/model/Comment.java index fe72ab446..5a1bdb5c0 100644 --- a/src/main/java/com/openisle/model/Comment.java +++ b/src/main/java/com/openisle/model/Comment.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; @@ -20,7 +21,9 @@ public class Comment { @Column(nullable = false, columnDefinition = "TEXT") private String content; - @Column(nullable = false) + @CreationTimestamp + @Column(nullable = false, updatable = false, + columnDefinition = "DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6)") private LocalDateTime createdAt; @ManyToOne(fetch = FetchType.LAZY, optional = false) @@ -35,8 +38,4 @@ public class Comment { @JoinColumn(name = "parent_id") private Comment parent; - @PrePersist - protected void onCreate() { - this.createdAt = LocalDateTime.now(); - } } diff --git a/src/main/java/com/openisle/model/Notification.java b/src/main/java/com/openisle/model/Notification.java index ab9f004d2..d25c98c53 100644 --- a/src/main/java/com/openisle/model/Notification.java +++ b/src/main/java/com/openisle/model/Notification.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; @@ -42,11 +43,8 @@ public class Notification { @Column(name = "is_read", nullable = false) private boolean read = false; - @Column(nullable = false) + @CreationTimestamp + @Column(nullable = false, updatable = false, + columnDefinition = "DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6)") private LocalDateTime createdAt; - - @PrePersist - protected void onCreate() { - this.createdAt = LocalDateTime.now(); - } } diff --git a/src/main/java/com/openisle/model/Post.java b/src/main/java/com/openisle/model/Post.java index 6e8ce8efd..9c3996207 100644 --- a/src/main/java/com/openisle/model/Post.java +++ b/src/main/java/com/openisle/model/Post.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.annotations.CreationTimestamp; import java.util.HashSet; import java.util.Set; @@ -32,7 +33,9 @@ public class Post { @Column(nullable = false, columnDefinition = "TEXT") private String content; - @Column(nullable = false) + @CreationTimestamp + @Column(nullable = false, updatable = false, + columnDefinition = "DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6)") private LocalDateTime createdAt; @ManyToOne(optional = false, fetch = FetchType.LAZY) @@ -56,8 +59,4 @@ public class Post { @Column(nullable = false) private PostStatus status = PostStatus.PUBLISHED; - @PrePersist - protected void onCreate() { - this.createdAt = LocalDateTime.now(); - } } diff --git a/src/main/java/com/openisle/model/User.java b/src/main/java/com/openisle/model/User.java index 24b95021c..0d51ada45 100644 --- a/src/main/java/com/openisle/model/User.java +++ b/src/main/java/com/openisle/model/User.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; import com.openisle.model.Role; @@ -45,11 +46,8 @@ public class User { @Column(nullable = false) private Role role = Role.USER; - @Column(nullable = false) + @CreationTimestamp + @Column(nullable = false, updatable = false, + columnDefinition = "DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6)") private LocalDateTime createdAt; - - @PrePersist - protected void onCreate() { - this.createdAt = LocalDateTime.now(); - } }