我们使用外部数据库,我们无法编辑表设计,只添加自己的表来扩展核心表。
所以我需要在一个类上映射两个表,我试试这个:
<?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
有没有人知道在一个类上映射两个表的其他方法?
答案 0 :(得分:0)
(我在这里与表名和列名有点挣扎。)
你可以使用一个连接的子类吗?即使表不遵循逻辑关系,如果两个表之间存在一对一的数据库关系,那么通过忽略父级,并在子类上执行所有操作,您将获得所需的内容。 / p>