2025-12-14 00:24:42 +08:00
|
|
|
|
package com.vibevault.model;
|
|
|
|
|
|
|
|
|
|
|
|
import jakarta.persistence.*;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 用户实体类
|
|
|
|
|
|
*
|
|
|
|
|
|
* 需要实现:
|
|
|
|
|
|
* - 将此类映射为数据库表 "users"
|
|
|
|
|
|
* - id 作为自增主键
|
|
|
|
|
|
* - username 必须唯一且不能为空
|
|
|
|
|
|
* - password 不能为空
|
|
|
|
|
|
* - [Challenge] 支持用户角色(如 ROLE_USER, ROLE_ADMIN)
|
|
|
|
|
|
*/
|
2025-12-14 01:10:20 +08:00
|
|
|
|
@Entity
|
|
|
|
|
|
@Table(name = "users")
|
2025-12-14 00:24:42 +08:00
|
|
|
|
public class User {
|
|
|
|
|
|
|
2025-12-14 01:10:20 +08:00
|
|
|
|
@Id
|
|
|
|
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
2025-12-14 00:24:42 +08:00
|
|
|
|
private Long id;
|
|
|
|
|
|
|
2025-12-14 01:10:20 +08:00
|
|
|
|
@Column(unique = true, nullable = false)
|
2025-12-14 00:24:42 +08:00
|
|
|
|
private String username;
|
|
|
|
|
|
|
2025-12-14 01:10:20 +08:00
|
|
|
|
@Column(nullable = false)
|
2025-12-14 00:24:42 +08:00
|
|
|
|
private String password;
|
|
|
|
|
|
|
|
|
|
|
|
// [Challenge] 用户角色,默认为 ROLE_USER
|
2025-12-14 01:10:20 +08:00
|
|
|
|
@Column(nullable = false)
|
2025-12-14 00:24:42 +08:00
|
|
|
|
private String role = "ROLE_USER";
|
|
|
|
|
|
|
|
|
|
|
|
protected User() {
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public User(String username, String password) {
|
|
|
|
|
|
this.username = username;
|
|
|
|
|
|
this.password = password;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public User(String username, String password, String role) {
|
|
|
|
|
|
this.username = username;
|
|
|
|
|
|
this.password = password;
|
|
|
|
|
|
this.role = role;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Long getId() {
|
|
|
|
|
|
return id;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String getUsername() {
|
|
|
|
|
|
return username;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String getPassword() {
|
|
|
|
|
|
return password;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-14 01:10:20 +08:00
|
|
|
|
public void setUsername(String username) {
|
|
|
|
|
|
this.username = username;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void setPassword(String password) {
|
|
|
|
|
|
this.password = password;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-14 00:24:42 +08:00
|
|
|
|
public String getRole() {
|
|
|
|
|
|
return role;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void setRole(String role) {
|
|
|
|
|
|
this.role = role;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|