2010-10-12 94 views
0

使用hibernate和Hsqldb - 對象列表是session.merged通過事務。當調用session.flush()時,我得到一個「列名列表中重複的列名:x」,其中x是第一列。休眠 - session.flush上重複的列名稱

數據庫表沒有重複的列,我可以讀取數據。該表確實包含這是我在映射文件處理我作爲一個複合主鍵:

<composite-id> 
     <key-property name="x"></key-property> 
     <key-property name="y"></key-property> 
    </composite-id> 
    <property name="x" type="string" unique="false" 
     optimistic-lock="true" lazy="false" generated="never"> 
     <column name="X" length="10" not-null="true" unique="false" /> 
    </property> 
    <property name="y" type="string" unique="false" 
     optimistic-lock="true" lazy="false" generated="never"> 
     <column name="Y" length="18" not-null="true" 
      unique="false" /> 
    </property> 

感謝

回答

0

要映射的X &鍵兩次。如果您說它是一個複合ID,則無需將其重新映射爲屬性。

<composite-id> 
    <key-property name="x"></key-property> 
    <key-property name="y"></key-property> 
</composite-id> 
+0

我認爲,但是當我在屬性映射中輸入其他信息到屬性鍵映射時,我得到了各種未定義的錯誤。我從應用程序繼承了這個映射文件。 – Trevor 2010-10-12 18:51:21

+0

我嘗試了從屬性聲明中刪除其他屬性的建議。現在我得到一個合併錯誤(在我刷新之前),這可能與使用下劃線有關。屬性和列名都是x_x,但是當第二個對象被合併時,它顯示「xx」已被合併爲「null」。我希望在錯誤信息中看到x_x。 – Trevor 2010-10-12 19:31:02

+0

你可以發佈映射和表模式嗎?謝謝。 – Pedro 2010-10-12 19:32:43