Много ко многим не возвращает данных - PullRequest
0 голосов
/ 10 февраля 2012

У меня проблема с отложенной загрузкой во многих ко многим. Исключений нет, и в базе данных есть строки, но отложенная загрузка возвращает 0 строк. Ты знаешь почему?

КАРТА:

 <class name="Riesitel" table="riesitel" lazy="true" >
    <composite-id>
      <key-many-to-one lazy="false" name="os_udaje">
        <column name="os_cislo" sql-type="integer" not-null="true" />
      </key-many-to-one>

      <key-many-to-one lazy="false" name="projekt_etapa">
        <column name="rok" not-null="true" />
        <column name="id_projektu" not-null="true" />
        <column name="id_fakulty" not-null="true" />
      </key-many-to-one>
    </composite-id>

    <bag name="riesitel_rolas" inverse="true" cascade="none" table="riesitel_rola">
         <key>
           <column name="os_cislo"/>
           <column name="rok"/>
           <column name="id_projektu"/>
           <column name="id_fakulty"/>
         <!--   <column name="id_rola" sql-type="Char"/> -->
        </key>
      <many-to-many class="Rola_v_projekte">
        <column name="id_rola"/>
      </many-to-many>
    </bag>


  <class name="Rola_v_projekte" table="rola_v_projekte" lazy="true" >

    <id name="id_rola">
      <column name="id_rola" sql-type="integer" not-null="true" />
      <generator class="sequence">
        <param name="sequence">id_rola_seq</param>
      </generator>
    </id>

    <bag name="riesitel_rolas" inverse="true" cascade="none" table="riesitel_rola">
      <key>
        <column name="id_rola" />
      </key>
      <many-to-many class="Riesitel">
        <column name="os_cislo"/>
        <column name="rok"/>
        <column name="id_projektu"/>
        <column name="id_fakulty"/>
      </many-to-many>
    </bag>

модель БД: enter image description here

1 Ответ

0 голосов
/ 03 июля 2012

Я не знаю точно, почему .. но: я думаю, что это ошибка в NHibernate .. Когда я изменяю свой массив данных на некомпонентный идентификатор и меняю отображение, все начинают работать корректно:

enter image description here

...