From 59740a3b5dc6ac2e446a4ee126e9d91f5c3551c5 Mon Sep 17 00:00:00 2001 From: VergeDX Date: Sat, 23 Jan 2021 22:23:18 +0800 Subject: [PATCH] [+] Auto generate joinDate. --- .../org/hydev/clock_api/controller/UserController.java | 1 - src/main/java/org/hydev/clock_api/entity/User.java | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/hydev/clock_api/controller/UserController.java b/src/main/java/org/hydev/clock_api/controller/UserController.java index e76e172..0bb4b80 100644 --- a/src/main/java/org/hydev/clock_api/controller/UserController.java +++ b/src/main/java/org/hydev/clock_api/controller/UserController.java @@ -62,7 +62,6 @@ public class UserController { User user = new User(); user.setUsername(username); user.setPasswordMd5(userToSaltedMd5(username, password)); - user.setJoinDate(new Date()); // After save and flush, uuid field will be generated automatically. userRepository.saveAndFlush(user); diff --git a/src/main/java/org/hydev/clock_api/entity/User.java b/src/main/java/org/hydev/clock_api/entity/User.java index dcb0b25..bb22972 100644 --- a/src/main/java/org/hydev/clock_api/entity/User.java +++ b/src/main/java/org/hydev/clock_api/entity/User.java @@ -1,6 +1,7 @@ package org.hydev.clock_api.entity; import lombok.Data; +import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.GenericGenerator; import org.hydev.clock_api.error.ErrorCode; @@ -9,6 +10,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; +import java.time.LocalDateTime; import java.util.Date; @Data @@ -42,6 +44,7 @@ public class User { @Pattern(regexp = RE_LOWER_MD5, message = ErrorCode.INNER_PASSWORD_MD5_NOT_MATCH_REGEX) private String passwordMd5; - @NotNull - private Date joinDate; + // https://stackoverflow.com/questions/8202154/how-to-create-an-auto-generated-date-timestamp-field-in-a-play-jpa/8207652 + @CreationTimestamp + private LocalDateTime joinDate; }