2311061111/src/main/java/com/vibevault/model/User.java

75 lines
1.5 KiB
Java
Raw Normal View History

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