У меня проблема с отображением в nhibernate. Я использую версию nhibernate 2.2.
Похоже, проблема в картографировании, но я не уверен, что это причина. В любом случае, у меня есть две таблицы, которые я хотел бы отобразить. Я создал файл HBM для первой таблицы и объекта передачи данных тоже. Все столбцы были сопоставлены, и все отлично работает здесь.
Но теперь я хочу добавить к этому классу три сумки, которые будут указывать на тот же стол, мой второй стол, с которым я хотел бы соединиться. Я создал пакеты и отобразил все, но когда я получаю свои данные, только одна из этих сумок заполнена, а остальные остаются пустыми, и я получаю ошибку " не удалось лениво инициализировать коллекцию ролей: com.organic .mitsu.hib.ModelContent.options - ни один сеанс или сеанс не был закрыт". И я на 100% уверен, что мои данные в базе данных хороши. Когда я удаляю две сумки из моего картографирования, все работает нормально, остается только одна сумка. Вот файл hbm:
<class name="MyFirstClass" table="MyFirstTable">
<id name="ID">
<generator class="native" />
</id>
<property name="ItemOne" />
<property name="ItemTwo" />
<property name="ItemThree" />
<property name="ItemFour" />
<bag name="FirstItems" table="MySecondTable">
<key column="ItemID" property-ref="ItemOne"/>
<one-to-many class="Items" not-found="ignore"/>
</bag>
<bag name="SecondItems" table="MySecondTable">
<key column="ItemID" property-ref="ItemTwo"/>
<one-to-many class="Items" not-found="ignore"/>
</bag>
<bag name="ThirdItems" table="MySecondTable">
<key column="ItemID" property-ref="ItemThree"/>
<one-to-many class="Items" not-found="ignore"/>
</bag>
Как мне решить проблему? Это вообще возможно сделать так?
А вот отображение для MySecondTable:
<class name="Item" table="MySecondTable">
<id name="ID">
<generator class="assigned" />
</id>
<property name="ItemID" />
<property name="Language" />
<property name="Value" />
На самом деле, оригинальная вещь, которую я пытался отобразить, была с составным элементом и без сопоставления для MySecondTable. У меня есть только элемент класса dto, со столбцами ItemID и Value. Я получил ту же ошибку, и отображение выглядит так:
<class name="MyFirstClass" table="MyFirstTable">
<id name="ID">
<generator class="native" />
</id>
<property name="FirstItem" />
<property name="SecondItem" />
<property name="ThirdItem" />
<bag name="FirstItemNames" table="MySecondTable">
<key column="ItemID" property-ref="FirstItem"/>
<composite-element class="Item">
<property name="Value" />
</composite-element>
</bag>
<bag name="SecondItemNames" table="MySecondTable">
<key column="ItemID" property-ref="SecondItem"/>
<composite-element class="Item">
<property name="Value" />
</composite-element>
</bag>
<bag name="ThirdItemNames" table="MySecondTable">
<key column="ItemID" property-ref="ThirdItem"/>
<composite-element class="Item">
<property name="Value" />
</composite-element>
</bag>