Hibernate SQL@JoinColumn生成空值

Hibernate SQL@JoinColumn生成空值,sql,spring-boot,hibernate,lombok,joincolumn,Sql,Spring Boot,Hibernate,Lombok,Joincolumn,我使用@JoinColumn注释来连接两个表,但是链接会导致空值。我做错了什么?有没有办法调试链接过程?也许它与sql数据库有关,我的意思是不能进行链接?你可以说,当涉及到代码时,我已经尝试了一切,所以我只是不确定代码是否是问题所在。我还使用Postman发送JSON字符串,也许问题就在这里,但这只是猜测。请帮忙 @Entity @Data public class Operator { @Id @GeneratedValue private int idOperat

我使用@JoinColumn注释来连接两个表,但是链接会导致空值。我做错了什么?有没有办法调试链接过程?也许它与sql数据库有关,我的意思是不能进行链接?你可以说,当涉及到代码时,我已经尝试了一切,所以我只是不确定代码是否是问题所在。我还使用Postman发送JSON字符串,也许问题就在这里,但这只是猜测。请帮忙

@Entity
@Data
public class Operator {


    @Id
    @GeneratedValue
    private int idOperator;

    @Column
    private String login;

    @Column
    private String password;


    @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @JoinColumn(name= "id_employee")
    private Employee employee;

@Entity
@Data
public class Employee {

    @Id
    @GeneratedValue
    private int id_employee;

    @Column
    private String firstName;

    @Column
    private String lastName;

    @OneToOne(mappedBy = "employee")
    private Operator operator;
    
}


@RestController
@RequiredArgsConstructor
public class EmployeeController {

    private final EmployeeRepository employeeRepository;


    @PostMapping("/employees")
    public Employee newEmployee(@RequestBody Employee newEmployee) {
        return employeeRepository.save(newEmployee);
    }


@RestController
@RequiredArgsConstructor
public class OperatorController {

    private final OperatorRepositry operatorRepositry;


    @PostMapping("/operators")
    public Operator newOperator(@RequestBody Operator newOperator) {
        return operatorRepositry.save(newOperator);
    }


The debug result: 

    2020-10-12 11:40:19.467 DEBUG 83385 --- [nio-8080-exec-2] org.hibernate.SQL                        : insert into operator (id_employee, login, password, id_operator) values (?, ?, ?, ?)
    2020-10-12 11:40:19.470 TRACE 83385 --- [nio-8080-exec-2] o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as [INTEGER] - [null]
    2020-10-12 11:40:19.471 TRACE 83385 --- [nio-8080-exec-2] o.h.type.descriptor.sql.BasicBinder      : binding parameter [2] as [VARCHAR] - [dbuser]
    2020-10-12 11:40:19.472 TRACE 83385 --- [nio-8080-exec-2] o.h.type.descriptor.sql.BasicBinder      : binding parameter [3] as [VARCHAR] - [skdbpassword]
    2020-10-12 11:40:19.472 TRACE 83385 --- [nio-8080-exec-2] o.h.type.descriptor.sql.BasicBinder      : binding parameter [4] as [INTEGER] - [7]
    select operator0_.id_operator as id_opera1_1_1_, operator0_.id_employee as id_emplo4_1_1_, operator0_.login as login2_1_1_, operator0_.password as password3_1_1_, employee1_.id_employee as id_emplo1_0_0_, employee1_.first_name as first_na2_0_0_, employee1_.last_name as last_nam3_0_0_ from operator operator0_ left outer join employee employee1_ on operator0_.id_employee=employee1_.id_employee where operator0_.id_operator=?

这是Operator0.id\u employee=employee1.id\u employee上的
join employee employee1\uuuuuuuuo
模式的正确联接条件吗?在代码中,是否确保设置了此双向关系的两侧?为了澄清,运营商是否有员工,员工是否有operator@SternK,我不知道,这是我得到的调试输出,我想它可能会有用,你怎么看?对PaulD,正如你在那里看到的,我建立了一种“一对一”的双向关系。但让我想到的是,当我创建第一个雇员时,这个雇员中的运算符为null。然后我将(*JoinColumn)操作符链接到这个雇员-这可能是个问题-我的意思是,因为雇员有一个空值,所以不能建立链接。