Я знаю, что для вас уже поздно, но это может помочь другим. Насколько я знаю, вы не можете сослаться на «субпредложения». В некотором смысле это проявление LOD (Закон Деметры) , что фактически означает, что вы можете использовать только одну точку. Несмотря на то, что это не относится к этой иерархии классов, именно так nhibernate хочет, чтобы вы ссылались на объекты / свойства в hql. Таким образом, вы могли бы написать это так:
from C c
inner join fetch P p
inner join fetch R r
where r.rProperty like 'BLAH%';
Выборка предназначена для того, чтобы сообщить hibernate / nhibernate о стремлении загрузить объекты, чтобы избежать проблемы SELECT N + 1. Я думаю, вы хотите предварительно загрузить все объекты в этом случае.