有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用Hibernate保存具有一对一关系的两个类?

我使用Hibernate创建了一个Spring应用程序,在其中实现了用户和地址表之间的一对一关系。将为同一个like创建两个表,一个用于用户,另一个用于地址。现在,我想实现同样的目标,但面临着障碍。以下是我的做法,

  1. 创建了一个地址类及其getter和setter
  2. 创建了一个用户类及其getter和setters+@OneToOne映射和address类。像
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "AddressId")
private Address address;
  1. 创建了一个道&;用户和地址的服务类
  2. 如何在控制器中调用服务类,以便它将用户和地址详细信息作为输入,并将其保存在数据库中
@RequestMapping(value = "/create", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  public @ResponseBody Status addUserAddress(@RequestBody User user)
          throws Exception {
      userServices.addUser(user);
       // What shall I add here to save address also?
  }

共 (1) 个答案

  1. # 1 楼答案

    调用entityManager.persist(user)就足够了,因为关联上有一个cascade=ALL:实体管理器将持久化用户,并对地址级联持久化操作