2009-09-25 107 views
1

我們使用外部數據庫,我們不能編輯表設計只添加自己的表來擴展核心表。多表映射到NHibernate的一個類

所以我需要一個類映射兩個表,我試試這個:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
       assembly="DaVinci" 
       namespace="DaVinci.Domain"> 
<class name="Vorgang" table="VORGANGSKOPF"> 
<id name="Id" column="ID"> 
<generator class="native" /> 
</id> 
<property name="Vorgangsnummer" column="VORGANG" /> 
... 
<join table="OWN_VORGANG_WAEHRUNG" optional="true"> 
     <key column="VOR_ID" property-ref="Vorgangsnummer" /> 
     <property name="WaehrungVK_Internet" column="WAEHRUNG" /> 
     <property name="WaehrungsKursVK_Internet" column="KURS" /> 
     <property name="Preis_Internet" column="BETRAG_EURO" /> 
     <property name="PreisFremdWaehrung_Internet" column="BETRAG_FREMD" /> 
    </join> 
... 

測試後,我現在知道了,「財產裁判」爲連接不到風度的工作。 Bugreport here

有誰知道另一種方式來映射兩個表上的一個類?

回答

0

(我掙扎一點與表和列名在這裏。)

你可以使用一個連接子類的嗎?即使表格沒有遵循邏輯關係,如果兩個表格之間存在1對1的數據庫關係,那麼您可以通過忽略父項並在子類上執行所有操作來獲得所需的內容。