2009-03-10 5 views
3

Ich frage mich, ob jemand versucht hat, dies in NHibernate zu tun.Nhibernate - Abfrage mit Join-Tabelle ohne Beziehung

Ich habe die folgenden Tabellen (Simpify-Version).

STADT: Stadt (varchar2) (PK) Provinz (varchar2) (PK)

CITY_TL: Stadt (varchar2) (PK) Provinz (varchar2) (PK) lang (char (2)) (PK)

LAGE: Speicherort (varchar2) (PK) einige andere Spalte.

Wie Sie sehen können, gibt es keine Beziehung zwischen CITY und LOCATION. Es wurde jedoch so eingerichtet, dass CITY.Province gleich LOCATION.Location sein kann. Also, kann ich eine Abfrage wie folgt aus:.

wählen c * von Stadt c beitreten city_tl ctl auf c.city = ctl.city Fügestelle l auf l.location = c.province

Wie mache ich das in NHibernate? Ist das überhaupt machbar?

Hier ist meine Mapping-Dateien für Stadt- und Standort

STADT:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
        assembly="NHDAL" 
        namespace="NHDAL.Domain"> 

    <class name="CityTL" table="CITY_TL"> 
    <composite-id> 
     <key-property column="CITY" type="String" name="Name"/> 
     <key-property column="PROVINCE" type="String" name="Province"/> 
     <key-property column="LANG" type="String" name="Lang" /> 
    </composite-id> 

    <timestamp 
     column="MODIFY_DATE" 
     name="ModifyDate" 
     access="property" 
     unsaved-value="null"/> 

    <property name="ProvinceDescription" column="PROVINCE_TL" 
type="String" not-null="true" /> 
    <property name="Description" column="CITY_TL" type="String" not- 
null="true"/> 
    <property name="SortOrder" column="SORT_ORDER" type="Int32" not- 
null="false"/> 

    <many-to-one name="City" class="City"> 
     <column name="CITY"/> 
     <column name="PROVINCE"/> 
    </many-to-one> 
    </class> 

</hibernate-mapping> 

LAGE:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
        assembly="NHDAL" 
        namespace="NHDAL.Domain"> 

    <class name="Location" table="LOCATION"> 
    <id column="LOCATION" name="Name"> 
     <generator class="assigned" /> 
    </id> 

    <timestamp 
     column="MODIFY_DATE" 
     name="ModifyDate" 
     access="property" 
     unsaved-value="null"/> 

     </class> 

</hibernate-mapping> 

Kann jemand etwas Licht auf diesem Glanz und mir sagen, was sollte die Abfrage Sieht aus wie in NHibernate?

+0

Die Abbildung der Stadt Klasse fehlen –

Antwort

0

Unrelated Entitäten Sie können sie mit HQL oder SQL mit kartesischem Produkt verbinden:

Here