nHibernate outer join. Помогите новичку
От: kylikoff  
Дата: 27.04.07 06:17
Оценка:
Доброе время суток.
помогите разобраться с nHibernate. Есть таблица, в которой ключевое поле id и PK parent (дерево). Пытаюсь составить маппинг таким образом, чтобы sql выражение выглядело след обдразом

SELECT this_.id as id1_0_1_, 
        this_.parent as parent0_1_, 
        this_.name as name0_1_, 
        this_.avalibale as avalibale0_1_, 
        this_.sort as sort0_1_, 
        count(pagestreev2_.id as id1_0_0_)
        FROM tb_rub this_ 
left outer join tb_rub pagestreev2_ on this_.id_rub=pagestreev2_.parent 
group by ......


Маппинг



<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >
    <class name="PagesActionsLibrary.Domain.PagesTreeView, PagesActionsLibrary" table="tb_rub">
        <id name="ID" column="id">
            <generator class="native" />
        </id>
        <property name="Parent" column="parent" type="Int32"/>
        <property name="Name" column="name" type="String" length="100"/>
        <property name="Avalibale" column="avalibale" type="Boolean"/>
        <property name="Sort" column="sort" type="Int32"/>
        <set name="Children" table="tb_rub">
            <key column="parent"  />
            <one-to-many class="PagesActionsLibrary.Domain.PagesTreeView, PagesActionsLibrary"/>
        </set>
        <many-to-one name="Children" class="PagesActionsLibrary.Domain.PagesTreeView, PagesActionsLibrary" column="id" property-ref="Parent" outer-join="true"/>
    </class>
</hibernate-mapping>



при таком маппинге получается вот такой запрос

SELECT this_.id_rub as id1_0_1_, 
        this_.parent as parent0_1_, 
        this_.name as name0_1_, 
        this_.avalibale as avalibale0_1_, 
        this_.sort as sort0_1_, 
        pagestreev2_.id_rub as id1_0_0_, 
        pagestreev2_.parent as parent0_0_, 
        pagestreev2_.name as name0_0_, 
        pagestreev2_.avalibale as avalibale0_0_, 
        pagestreev2_.sort as sort0_0_ 
FROM tb_rub this_ 
left outer join tb_rub pagestreev2_ on this_.id_rub=pagestreev2_.parent



Подскажите плз, что неправильно, а то я весь мозг сломал.
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.