2015-06-21 28 views
1

我创建了一个使用Hibernate的Spring应用程序,我在其中实现了用户和地址表之间的一对一关系。两个表的创建方式相同,一个用于用户,另一个用于地址。现在,我想实施相同的,但面临的障碍。以下是我的方法,如何使用Hibernate保存两个具有一对一关系的类?

  1. 创建一个地址类以及它的getter和setter。
  2. 创建一个用户类及其getter和setter + @OneToOne映射与地址class.Like一起
@OneToOne(cascade = CascadeType.ALL) 
@JoinColumn(name = "AddressId") 
private Address address; 
  • Createed一个DAO &服务用户和地址类。
  • 如何在我的控制器中调用服务类,以便将用户和地址细节作为我的输入并将其保存在数据库中?
  • @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? 
        } 
    

    回答

    2

    调用entityManager.persist(user)就足够了,因为你对联想有一个cascade=ALL:实体管理器会保存用户和Cascade上的地址的持续运行。

    +0

    请您详细说明一下吗? – imbond

    +0

    我不知道要添加什么。你不明白什么? –

    +0

    “调用entityManager.persist(用户)就足够了,”...我需要在上面提到的控制器中更改什么?我应该添加用户和地址的详细信息作为创建API的输入json? – imbond

    相关问题