From 6ff925443dc0dd8b0b9c2c1172dd9eb4efd48835 Mon Sep 17 00:00:00 2001 From: xzy <2737577908@qq.com> Date: Sat, 21 Dec 2024 17:38:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/api/model/entity/LoginLog.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 IDEA/src/main/java/com/example/api/model/entity/LoginLog.java diff --git a/IDEA/src/main/java/com/example/api/model/entity/LoginLog.java b/IDEA/src/main/java/com/example/api/model/entity/LoginLog.java new file mode 100644 index 00000000..0e32947a --- /dev/null +++ b/IDEA/src/main/java/com/example/api/model/entity/LoginLog.java @@ -0,0 +1,59 @@ +package com.example.api.model.entity; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.Table; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 登录日志实体类,用于表示数据库中的登录日志信息表。 + */ +// @Entity注解标记这个类是一个JPA实体,可以被持久化到数据库 +@Entity +// @Data注解自动生成getter和setter方法,以及toString(), equals()和hashCode()方法 +@Data +// @AllArgsConstructor注解生成一个全参数的构造函数 +@AllArgsConstructor +// @NoArgsConstructor注解生成一个无参数的构造函数 +@NoArgsConstructor +public class LoginLog { + /** + * id字段,用于存储登录日志记录的唯一标识符。 + * 使用@Id注解标记为主键。 + * 使用@GeneratedValue注解和@GenericGenerator注解结合使用, + * 指定使用"uuid2"生成器,该生成器使用UUID作为主键的生成策略。 + */ + @Id + @GeneratedValue(generator = "uuid2") + @GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator") + private String id; + + // 登录邮箱,用于存储登录用户的邮箱地址 + private String email; + + // 登录状态,用于存储登录操作的结果状态 + private Integer status; + + // 用户的IP地址,用于存储登录用户的IP地址 + private String ip; + + /** + * 登录时间字段,用于存储登录操作的时间。 + * 使用@JsonFormat注解定义JSON序列化和反序列化时的格式, + * 格式为"yyyy-MM-dd HH:mm:ss",时区为"GMT+8"。 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date date; + + // 浏览器,用于存储登录用户使用的浏览器信息 + private String browser; +}