Вы можете сделать это, указав атрибут fetch.
(10) выборка (необязательно) Выбор между извлечением из внешнего соединения и извлечением путем последовательного выбора.
Вы найдете его по адресу: Глава 6. Сопоставление коллекций , прокрутите вниз до: 6.2. Картирование коллекции
EDIT
Я прочитал в комментарии к вашему вопросу, что вы хотели выполнить необработанный SQL-запрос? Вот ссылка, которая может быть интересна:
Глава 13 - Собственные запросы SQL
и если вы хотите, чтобы это было возможно через HQL:
Глава 11. HQL: язык запросов Hibernate
В главе 11 вы хотите прокрутить вниз до 11.3. Ассоциации и объединения .
IQuery q = session.CreateQuery(@"from A as ClassA left join B as ClassB");
Полагаю, однако, что ClassB должен быть членом ClassA. Дальнейшие изменения должны помочь.
Еще одна вещь, которая может оказаться полезной для вас, это именованных запросов :
<query name="PeopleByName">
from Person p
where p.Name like :name
</query>
И вызов этого запроса изнутри кода выглядит так:
using (var session = sessionFactory.OpenSession())
using (var tx = session.BeginTransaction()) {
session.GetNamedQuery("PeopleByName")
.SetParameter("name", "ayende")
.List();
tx.Commit();
}
Пожалуйста, взгляните на ссылочную ссылку Айенде, которая более подробно объясняет это.