|
@@ -4,10 +4,13 @@ import lombok.AllArgsConstructor;
|
|
|
import lombok.Getter;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
import lombok.Setter;
|
|
|
+import org.hibernate.annotations.CreationTimestamp;
|
|
|
+import org.hibernate.annotations.UpdateTimestamp;
|
|
|
|
|
|
import javax.persistence.*;
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
import java.io.Serializable;
|
|
|
+import java.util.Date;
|
|
|
|
|
|
@Entity
|
|
|
@Table(name = "user")
|
|
@@ -19,7 +22,7 @@ public class User implements Serializable {
|
|
|
@Setter
|
|
|
@Id
|
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
|
- @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '用户实体ID'")
|
|
|
+ @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '用户实体'")
|
|
|
private Integer id;
|
|
|
|
|
|
@Getter
|
|
@@ -37,18 +40,75 @@ public class User implements Serializable {
|
|
|
@Column(name = "name", columnDefinition = "VARCHAR(64) COMMENT '姓名'")
|
|
|
private String name;
|
|
|
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "nickname", columnDefinition = "VARCHAR(32) COMMENT '昵称'")
|
|
|
+ private String nickname;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "signature", columnDefinition = "VARCHAR(255) COMMENT '签名'")
|
|
|
+ private String signature;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "email", columnDefinition = "VARCHAR(255) COMMENT '电子邮箱'")
|
|
|
+ private String email;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "phone", columnDefinition = "VARCHAR(16) COMMENT '电话'")
|
|
|
+ private String phone;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "qq", columnDefinition = "VARCHAR(16) COMMENT 'QQ'")
|
|
|
+ private String qq;
|
|
|
+
|
|
|
@Getter
|
|
|
@Setter
|
|
|
@Column(name = "avatar", columnDefinition = "VARCHAR(255) COMMENT '头像'")
|
|
|
private String avatar;
|
|
|
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Enumerated(EnumType.STRING)
|
|
|
+ @Column(name = "type", columnDefinition = "VARCHAR(16) COMMENT '用户类型'")
|
|
|
+ private Type type;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "is_enabled", nullable = false, columnDefinition = "TINYINT DEFAULT '1' COMMENT '帐户启用'")
|
|
|
+ private Boolean isEnabled;
|
|
|
+
|
|
|
@Getter
|
|
|
@Setter
|
|
|
@Column(name = "school", columnDefinition = "VARCHAR(64) COMMENT '学校'")
|
|
|
private String school;
|
|
|
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "created_at", columnDefinition = "DATETIME COMMENT '创建时间'")
|
|
|
+ @CreationTimestamp
|
|
|
+ private Date createdAt;
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @Setter
|
|
|
+ @Column(name = "updated_at", columnDefinition = "DATETIME COMMENT '更新时间'")
|
|
|
+ @UpdateTimestamp
|
|
|
+ private Date updatedAt;
|
|
|
+
|
|
|
+ @Version
|
|
|
+ @Column(name = "version", columnDefinition = "INTEGER COMMENT '版本号'")
|
|
|
+ public Integer version;
|
|
|
+
|
|
|
public User(@NotNull String username, @NotNull String password) {
|
|
|
this.username = username;
|
|
|
this.password = password;
|
|
|
}
|
|
|
+
|
|
|
+ public enum Type {
|
|
|
+ // 学生,教师,管理员
|
|
|
+ STUDENT, TEACHER, ADMIN
|
|
|
+ }
|
|
|
}
|