更新 src/main/java/com/vibevault/model/User.java
Some checks are pending
autograde-final-vibevault / check-trigger (push) Waiting to run
autograde-final-vibevault / grade (push) Blocked by required conditions

This commit is contained in:
张雪尔 2025-12-22 04:10:30 +08:00
parent e520acabf9
commit 4e464d5957

View File

@ -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;
} }
} }