【发布时间】:2021-03-31 14:41:55
【问题描述】:
这是我的代码:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
@OneToOne(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.EAGER, optional = false)
private Employee employee;
public User() {
}
//SETTERS AND GETER
}
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
private User user;
public Employee() {
}
//SETTERS AND GETER
}
在我的服务中,我正在尝试这样的事情:
User user = new User();
user.setUsername("my_username");
user.setPassword("12345");
Employee employee = new Employee();
employee.setName("My Name");
employee.setBirth(LocalDate.now());
user.setEmployee(employee);
userService.save(user);
应用程序没有错误也没有任何问题,但是查看我的数据库,user_id 列是空的,我该怎么做才能让 user_id 自动设置为 User id?提前致谢!
【问题讨论】:
-
您的代码应该可以工作。您确定您的数据库 ID 设置为自动递增(或顺序)吗?
标签: java spring spring-boot hibernate jpa