【发布时间】:2018-04-19 21:30:45
【问题描述】:
我正在尝试使用 Spring 和 Postgres 创建一个应用程序。目前我有 3 个实体:User、Role 和 UserRole。
用户
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@Builder
@AllArgsConstructor
public class User {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "user_id", nullable = false)
private Long id;
@Column(name = "username", nullable = false, unique = true)
private String username;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "name", nullable = false)
private String firstName;
@Column(name = "lastName", nullable = true)
private String lastName;
@Column(name = "gender", nullable = false)
private char gender;
@Column(name = "email", nullable = true)
private String email;
public User() {}
public User(String username, String password, String firstName, String lastName, char gender, String email) {
this.username = username;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
this.gender = gender;
this.email = email;
}
}
角色
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@Builder
@AllArgsConstructor
public class Role {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "role_id", nullable = false)
private Long id;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "description", nullable = false)
private String description;
public Role () {}
public Role (String name, String description) {
this.name = name;
this.description = description;
}
}
用户角色
import lombok.AllArgsConstructor;
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@AllArgsConstructor
public class UserRole {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "user_role_id")
private Long id;
@OneToOne
@JoinColumn(name = "user_id")
private User user;
@OneToOne
@JoinColumn(name = "role_id")
private Role role;
public UserRole () {}
public UserRole (User user, Role role) {
this.user = user;
this.role = role;
}
}
运行应用程序时,Role 和UserRole 表在数据库中正确创建,但User 表并非如此。感谢您的帮助:)。
【问题讨论】:
-
启动应用程序时出现错误?
标签: spring postgresql spring-boot