我如何建立一对一的关系,其中 tableB 持有 tableA 的外键,而 tableA 在 spring boot 中持有 tableB 对象

问题描述 投票:0回答:0

我在 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 构建我的数据库时,我现在应该以另一种方式思考吗?

java spring-boot foreign-keys relation
© www.soinside.com 2019 - 2024. All rights reserved.