多表映射到NHibernate中的一个类

时间:2009-09-25 11:48:46

标签: 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>
...

经过测试我现在知道加入的“property-ref”不起作用。 Bugreport here

有没有人知道在一个类上映射两个表的其他方法?

1 个答案:

答案 0 :(得分:0)

(我在这里与表名和列名有点挣扎。)

你可以使用一个连接的子类吗?即使表不遵循逻辑关系,如果两个表之间存在一对一的数据库关系,那么通过忽略父级,并在子类上执行所有操作,您将获得所需的内容。 / p>