我在 SpringBoot 中有以下实体,我想创建一个新实体,该实体具有注册用户的用户 ID 和注册/登录用户的名称作为实例字段/表列。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="User")
public class WebUser {
@Id
@GeneratedValue
private Long userID;
@NonNull
private String name;
@NonNull
private String email;
@NonNull
private String password;
}
我将如何使用 SpringBoot 和 JPA 实体中的表单来执行此操作?我很挣扎,我尝试使用 @OneToMany 注释创建一个带有隐藏输入字段的表单,但用户 ID 和名称为空。
感谢您的帮助
答案 0 :(得分:0)
首先,您应该使用 @Column(name = "COLUMN_NAME")
定义表列名称并假设您的新实体名称为 LogUser。
登录用户
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="LogUser")
public class LogUser{
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID", nullable = false)
private WebUser webUser;
@Column(name = "NAME", nullable = false)
private String name;
}
网络用户
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="User")
public class WebUser {
@Id
@GeneratedValue
@Column(name = "USER_ID")
private Long userID;
@Column(name = "NAME", nullable = false)
private String name;
@Column(name = "EMAIL", nullable = false)
private String email;
@Column(name = "PASSWORD", nullable = false)
private String password;
@OneToMany(mappedBy = "webUser")
private Set<LogUser> logUsers;
}