generated from Java-2025Fall/final-vibevault-template
更新 src/main/java/com/vibevault/model/User.java
This commit is contained in:
parent
e520acabf9
commit
4e464d5957
@ -2,53 +2,76 @@ package com.vibevault.model;
|
|||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户实体类
|
* 用户实体类
|
||||||
*
|
* 需要实现:
|
||||||
* 需要实现:
|
|
||||||
* - 将此类映射为数据库表 "users"
|
* - 将此类映射为数据库表 "users"
|
||||||
* - id 作为自增主键
|
* - id 作为自增主键
|
||||||
* - username 必须唯一且不能为空
|
* - username 必须唯一且不能为空
|
||||||
* - password 不能为空
|
* - password 不能为空
|
||||||
* - [Challenge] 支持用户角色(如 ROLE_USER, ROLE_ADMIN)
|
* - [Challenge] 支持用户角色(如 ROLE_USER, ROLE_ADMIN)
|
||||||
*/
|
*/
|
||||||
|
@Entity // 实现:将此类映射为数据库表
|
||||||
|
@Table(name = "users") // 实现:指定表名为"users"
|
||||||
public class User {
|
public class User {
|
||||||
|
|
||||||
|
@Id // 实现:标记id为主键
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) // 实现:id作为自增主键
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@Column(nullable = false, unique = true) // 实现:username必须唯一且不能为空
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
|
@Column(nullable = false) // 实现:password不能为空
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
// [Challenge] 用户角色,默认为 ROLE_USER
|
// [Challenge] 支持用户角色(如 ROLE_USER, ROLE_ADMIN)
|
||||||
private String role = "ROLE_USER";
|
@Column(nullable = false) // 角色字段非空
|
||||||
|
private String role = "ROLE_USER"; // 默认角色为ROLE_USER
|
||||||
|
|
||||||
protected User() {
|
// 无参构造(JPA必须)
|
||||||
|
public User() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2参数构造(用户名+密码)
|
||||||
public User(String username, String password) {
|
public User(String username, String password) {
|
||||||
this.username = username;
|
this.username = username;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 3参数构造(适配测试代码:用户名+密码+角色)
|
||||||
public User(String username, String password, String role) {
|
public User(String username, String password, String role) {
|
||||||
this.username = username;
|
this.username = username;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
this.role = role;
|
this.role = role;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 必须的getter/setter方法(JPA操作实体需要)
|
||||||
public Long getId() {
|
public Long getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
public String getUsername() {
|
public String getUsername() {
|
||||||
return username;
|
return username;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setUsername(String username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPassword() {
|
public String getPassword() {
|
||||||
return password;
|
return password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
public String getRole() {
|
public String getRole() {
|
||||||
return role;
|
return role;
|
||||||
}
|
}
|
||||||
@ -56,4 +79,4 @@ public class User {
|
|||||||
public void setRole(String role) {
|
public void setRole(String role) {
|
||||||
this.role = role;
|
this.role = role;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user