2015-06-21 29 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

    相關問題