我正在学习 SpringBoot 并尝试创建一个简单的 API。使用 H2 作为数据层。
我的表架构如下
DROP TABLE IF EXISTS Users;
DROP TABLE IF EXISTS Cards;
CREATE TABLE Users(USER_ID INT PRIMARY KEY,
NAME VARCHAR(255) NOT NULL,
USERNAME VARCHAR(255) NOT NULL,
PASSWORD VARCHAR(255) NOT NULL,
IS_ADMIN BOOL);
insert into Users values(10001,'Administrator', 'admin', 'admin', true);
CREATE TABLE Cards(CARD_ID INT PRIMARY KEY,
NUMBER VARCHAR(20) NOT NULL,
EXPIRY VARCHAR(5) NOT NULL,
CVV INT,
USER INT,
foreign key (USER) references Users(USER_ID)
);
我的用户实体如下所示
package springboot;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
@Entity
@Table(name = "USERS")
@ApiModel(description = "the USER object")
public class User {
@ApiModelProperty(notes = "The id of User")
private @Column(name = "USER_ID") @Id @GeneratedValue Long user_id;
@ApiModelProperty(notes = "The name of User")
private @Column(name = "NAME") String name;
@ApiModelProperty(notes = "The username of User", required = true)
@NotBlank(message = "Username is mandatory")
private @Column(name = "USERNAME") String username;
@ApiModelProperty(notes = "The password of User", required = true)
@ValidPassword(message = "Password is mandatory")
private @Column(name = "PASSWORD") String password;
@ApiModelProperty(notes = "The admin status of User")
private @Column(name = "IS_ADMIN") boolean isAdmin;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<CreditCard> cards;
public User() {}
public User(String name, String username, String password, boolean isAdmin) {
this.name = name;
this.username = username;
this.password = password;
this.isAdmin = isAdmin;
}
我试图搜索并遵循几个教程,但无法使其正常工作。有人可以指出我错在哪里吗?
蛊毒传说
相关分类