【发布时间】:2021-03-01 10:18:15
【问题描述】:
所以我正在用 java 制作我的第一个 RESTful API,但我被卡住了。 我正在使用外键,所以我遇到了 ORM。 我正在学习它,所以我可能不了解所有内容。 无论如何,我收到此错误:
java.sql.SQLSyntaxErrorException: Unknown column 'user0_.account_id' in 'field list'
虽然我认为我确实有那个专栏。
我的数据库(相关部分):
我的用户模型类:
@Entity
@Table(name="user")
@Getter
@Setter
public class User {
public User(Integer id) {
this.id = id;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private Integer id;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name="accountId", referencedColumnName = "Id")
private Account account;
public User(){
}
}
我的帐户模型类:
@Entity
@Table(name="account")
@Getter
@Setter
public class Account {
public Account(Integer id, String firstName, String lastName, String email, String password, Boolean locked, Boolean enabled) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.password = password;
this.locked = locked;
this.enabled = enabled;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String firstName;
private String lastName;
private String email;
private String password;
private Boolean locked;
private Boolean enabled;
@OneToOne(mappedBy = "account" , cascade = CascadeType.ALL,
fetch = FetchType.LAZY, optional = false)
private User user;
public Account(){
}
}
我似乎无法在其他类似帖子中找到适合我的答案。 我确实认为这与映射有关,但我不确定。 我认为您只需要这两个课程,但是如果您需要其他任何内容来回答我的问题,请询问他们,我会将它们包含在我的帖子中。
提前致谢!
为了使我的数据库更清晰,我从 IntelliJ 添加了数据库选项卡,以便您可以查看列的命名方式:
【问题讨论】:
标签: java jpa orm relational-database