我在 spring boot 项目中有以下实体:
public class User implements UserDetails {
@Id
@GeneratedValue
private Long id;
private String email;
private String password;
@OneToOne
private UserInfo info;
}
public class UserInfo {
@Id
@GeneratedValue
private Long id;
private String firstName;
private String lastName;
private String birthDay;
}
并且希望能够像这样保存一个新用户
User user = User.builder()
.email("[email protected]")
.password("password")
.build();
UserInfo userInfo = UserInfo.builder()
.firstName("foo")
.lastName("oof")
.birthDate("ofo")
.build();
user.setInfo(userInfo);
repository.save(user);
我之前只直接使用 SQL,在我的脑海中,我想要一个如下所示的表结构:
USER TABLE
id
email
password
USER INFO TABLE
user_id
firstname
lastname
birthday
我已经尝试了一些注释,但只有当我使用使 USER TABLE 具有到 USER INFO TABLE 的 FK 的注释时,我的 boostrapping 才有效。我在这里遗漏了一些东西,或者当我使用 spring boot 构建我的数据库时,我现在应该以另一种方式思考吗?