2009-09-25 110 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的数据库关系,那么您可以通过忽略父项并在子类上执行所有操作来获得所需的内容。