2013-06-22 48 views
0

之間的「一比一」的關係是什麼,我將在下面的xml做,使階級和階級一個one-to-one之間的關係CountryPM無法讓兩類

<class name="pojo.Country" table="country"> 
     <id name="c_id"> 
      <generator class="increment" /> 
     </id> 
     <property name="name_c" /> 
     <one-to-one class="pojo.PM" name="name_pm" /> 
    </class> 

    <class name="pojo.PM" table="pm"> 
     <id name="c_id"> 
      <generator class="increment" /> 
     </id> 
     <property name="name_pm" /> 
    </class> 

我正在name_pm之間的一對一的關係,其是PM類內部定義的屬性和name_c其內部Country類中定義的屬性。當我寫,會出現問題:

<one-to-one class="pojo.PM" name="name_pm" /> 

它開始向物業name_pm搜索類PM內部時,它應該在Country類中搜索。

如何定義一個One-toOne關係name_pm和之間 name_c

回答

0

看起來像錯誤的語法。

嘗試

<one-to-one name="pmNameInCountryPojo" class="pojo.PM" 
      cascade="save-update"></one-to-one> 
+0

級聯會做什麼?反正我得到了同樣的例外'無法找到類pojo.Country的name_pm getter' – saplingPro

+0

@saplingPro是級聯是可選的。 –

+0

這個錯誤是關於我猜的可變名稱中的underScore,而它無法檢測到getter.Please更改爲namePm並再次創建getter和setter,並嘗試 –

0

本身指向解決方案的異常。

您需要在您的pojo.Country類中爲name_pm創建獲取和設置器。

,並在您pojo.PM配置中添加

<one-to-one class="pojo.Country" name="${variable-name}" /> 

PM類創建相應的變量setter和getter。

Look this例如,它會幫助你。