Я использую NHibernate для сайта электронной коммерции и испытываю трудности с получением того, что должно быть простым отображением для работы.По сути, у меня есть объект ContactDetails, который используется для сохранения контактных данных для любого типа пользователя - Покупатель / Продавец / Рекламодатель / и т.д.Я использую любое сопоставление, чтобы в одной таблице могли храниться contact_details для каждого типа.Идентификатор записывается в contact_details_id, а тип (покупатель / продавец / рекламодатель) в поле contact_details_type следующим образом.
<class name="ContactDetails" table="contact_details">
<id name="ID">
<generator class="hilo" />
</id>
<any name="Party" id-type="System.Int32" meta-type="System.String" cascade="all">
<meta-value value="buyer" class="Buyer" />
<meta-value value="seller" class="Seller" />
<column name="contact_details_type" />
<column name="contact_details_id" />
</any>
В моем сопоставлении покупателя у меня один на один с контактной информацией, которая выглядит следующим образом
<one-to-one name="ContactDetails" class="ContactDetails" cascade="all" />
Все это выглядит хорошо, и явозможность сохранять контактные данные в базе данных.Моя проблема в том, что когда я пытаюсь загрузить покупателя из базы данных, ContactDetails не возвращается.Вместо присоединения к полю contact_details_id сгенерированный запрос присоединяется к полю ID таблицы contact_details.Я перепробовал все возможное, но что бы ни случилось, я не могу заставить код присоединиться к правильному полю (contact_details_id).Кто-нибудь пытался это сделать, и если да, то как это работает?Пожалуйста, дайте мне знать, если требуются дополнительные детали.
Заранее спасибо,
JP