2009-09-25 6 views
1

nous utilisons une base de données externe où nous ne pouvons pas éditer des conceptions de table seulement ajouter des tables propres pour étendre les tables de base.Multi Table mappée sur une classe dans NHibernate

donc j'ai besoin carte deux tables sur une classe, j'essaie ceci:

<?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> 
... 

Après avoir testé je sais maintenant que « property-ref » pour les jointures travail dosn't. Bugreport here

Est-ce que quelqu'un connaît une autre façon de mapper deux tables sur une classe?

Répondre

0

(je me bats un peu avec la table et les noms de colonnes ici.)

Pouvez-vous utiliser une sous-classe jointe pour cela? Même si les tables ne suivent pas la relation logique, s'il existe une relation de base de données 1-à-1 entre les deux tables, alors vous obtiendrez ce que vous voulez en ignorant le parent et en effectuant toutes vos opérations sur la sous-classe.

Questions connexes