2009-03-10 11 views
3

誰かがNHibernateでこれをやろうとしているのだろうかと思っていました。Nhibernate - 関係のない結合テーブルを使ったクエリ

私は以下の表を持っています(バージョンはシンプル)。

CITY: 都市(VARCHAR2)(PK) 州(VARCHAR2)(PK)

CITY_TL: 都市(VARCHAR2)(PK) 州(VARCHAR2)(PK) ラング(CHAR(2 ))(PK)

ロケーション: 場所(varchar2)(PK) 他の列。

ご覧のとおり、CITYとLOCATIONの間には何の関係もありません。 ただし、CITY.Provinceは LOCATION.Locationに等しくなるように設定されています。 。だから、私はこのようなクエリを実行することができます:都市C から

選択C * がc.cityにcity_tl CTLを参加= ctl.city l.location = c.province上の位置Lに参加

どのようにNHibernateでそれを行うのですか?これも実行可能ですか?

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

LOCATION:

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

誰かがこの上でいくつかの光を当てることができますし、何がクエリべきを教え ここ

はCITYとLOCATION

CITYのための私のマッピングファイルがありますNHibernateのように見える?あなたはデカルト積を使用してHQLまたはSQLでそれらを結合することができ

+0

市クラスのマッピングが欠落しています –

答えて

関連する問題