Вы не можете выполнить объединение напрямую, но вы можете выполнить два будущих запроса и объединить результаты в коде:
var resultSet1 = this.Session.CreateCriteria<A>().Future<A>();
var resultSet2 = this.Session.CreateCriteria<B>().Future<B>();
После этого, когда перечисляется любой набор результатов, NHibernate выдаст одинзапрос к базе данных, которая будет возвращать несколько наборов результатов.Обратите внимание, что если вы не используете SQL Server, база данных может не поддерживать несколько наборов результатов.