誰かが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でそれらを結合することができ
市クラスのマッピングが欠落しています –