JPA一对一关联查询也可以实现关联查询,只需要修改级联关联操作设定即可:

@JoinColumn(name = "detail_id")
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) //设置关联操作为ALL
AccountDetail detail;

 - ALL:所有操作都进行关联操作 

  •  PERSIST:插入操作时才进行关联操作 
  •  REMOVE:删除操作时才进行关联操作 
  •  MERGE:修改操作时才进行关联操作

可以多个并存,接着我们来进行一下测试:

@Test
void addAccount(){
    Account account = new Account();
    account.setUsername("Nike");
    account.setPassword("123456");
    AccountDetail detail = new AccountDetail();
    detail.setAddress("重庆市渝中区解放碑");
    detail.setPhone("1234567890");
    detail.setEmail("73281937@qq.com");
    detail.setRealName("张三");
  	account.setDetail(detail);
    account = repository.save(account);
    System.out.println("插入时,自动生成的主键ID为:"+account.getId()+",外键ID为:"+account.getDetail().getId());
}

可以看到日志结果:

Hibernate: insert into users_detail (address, email, phone, real_name) values (?, ?, ?, ?)
Hibernate: insert into users (detail_id, password, username) values (?, ?, ?)
插入时,自动生成的主键ID为:6,外键ID为:3

入参是 goodsId + userId + time,需要将一个商品中能用的account分配一个到order中 获取account的方法可以是遍历account列表,