Вот код, который может вам помочь.Я написал для классов и картирование для каждого.Я определил только свойства QuestionID и AnswerID.В классе Question у вас теперь есть ISet, который содержит все упомянутые ответы.В классе «Ответ» у вас есть поле «Вопрос», в котором содержится указанный вопрос.
Надеюсь, что именно этого вы и хотите (пример кода на C #)
Класс для вопроса
public class Question
{
//other fields
private int _id;
private ISet<Answer> _answers;
//other props
public virtual int ID
{
get{ return _id; }
set{ _id = value; }
}
public virtual ISet<Answer> Answers
{
get
{
return _answers;
}
set
{
_answers = value;
}
}
}
Отображение для вопроса
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="App.Question, App" table="question">
<id name="ID" column="questionid" type="int">
<generator class="native" />
</id>
<!--Other Propertys-->
<set name="Answers" table="answer" generic="true" inverse="true">
<key column="questionId" />
<one-to-many class="App.Answer, App"/>
</set>
</class>
</hibernate-mapping>
Класс для ответа
public class Answer
{
//other fields
private int _id;
private Question _question;
//other props
public virtual int ID
{
get{ return _id; }
set{ _id = value; }
}
public virtual Question Question
{
get
{
return _question;
}
set
{
_question = value;
}
}
}
Отображение для ответа
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="App.Answer, App" table="answer">
<id name="ID" column="answerid" type="int">
<generator class="native" />
</id>
<!--Other Propertys-->
<many-to-one name="Question" column="questionId" class="App.Question, App"/>
</class>
</hibernate-mapping>