我有一個類ClassA映射到TableA。我也有一個映射,它有一個EntityA的實體名稱。Hibernate映射繼承
現在,我需要在TableA的ClassA之間創建另一個名爲EntityATwo的映射,但略有不同。
儘管我可以複製粘貼EntityA到EntityATwo的映射,但要維護這一點非常困難。
因此,我的問題是,我該如何創建EntityATwo的映射,其中我只聲明EntityATwo和EntityA之間的不同,而映射的其餘部分則來自EntityA。
感謝, 弗朗茨
我有一個類ClassA映射到TableA。我也有一個映射,它有一個EntityA的實體名稱。Hibernate映射繼承
現在,我需要在TableA的ClassA之間創建另一個名爲EntityATwo的映射,但略有不同。
儘管我可以複製粘貼EntityA到EntityATwo的映射,但要維護這一點非常困難。
因此,我的問題是,我該如何創建EntityATwo的映射,其中我只聲明EntityATwo和EntityA之間的不同,而映射的其餘部分則來自EntityA。
感謝, 弗朗茨
我不知道一個辦法直接做到這一點。但經你的允許,我可以詳細說明。
在我們的代碼,我們通常喜歡一個Java類映射到一個語義(我們更願意與比選中字符串編譯檢查類工作)。因此,我們將映射到兩個類而不是將類兩次映射到具有不同實體名稱的表。 我們將有:
您不必重複了。你從語義上獲得了一些東西。
另一種可能性是在Java類使用註解,只對共同映射。在Hibernate中,註釋可以被xml映射覆蓋(或完成)。所以我想你可以只覆蓋xml中的相關部分,並且你不會有重複。
請隨時詳細說明一些:-) 我想我可以有兩個類映射到同一個表。但是,我仍然認爲EntityATwo地圖與EntityA地圖的地圖幾乎相同,只是略有不同。 謝謝 – 2009-09-03 10:09:59
@Franz我編輯着重於您的評論。它更清楚嗎?休眠站點已關閉,所以我無法提供鏈接。 – KLE 2009-09-03 10:15:00
好吧,所以你有ClassA1和ClassA2都從Java端擴展ClassA。 ClassA映射到TableA(例如)。此外,ClassA1和ClassA2映射到TableA。 但是,您如何準確指定ClassA1和ClassA2繼承ClassA的通用映射? 謝謝 – 2009-09-03 10:41:18
+1對於精確的問題和良好的交互 – KLE 2009-09-03 11:09:50