Вы можете использовать ICriteria для получения вашего сотрудника.
Вы можете использовать метод SetFetchMode ICriteria, чтобы определить, должен ли Департамент быть выбран или нет:
Это позволит убедиться, что Департамент не выбран:
ICriteria crit = theSession.CreateCriteria (typeof(Employee));
crit.SetFetchMode ("Department", FetchMode.Lazy)
С этим кодом будет извлечен отдел.
ICriteria crit = theSession.CreateCriteria (typeof(Employee));
crit.SetFetchMode ("Department", FetchMode.Join)
Некоторые говорят, что рекомендуется использовать режим выборки по умолчанию в сопоставлениях (который будет ленивым, я полагаю) и указывать режим выборки в каждом конкретном сценарии. (То есть в ваших репозиториях).