Вы можете изменить стратегию выборки (ленивая или нет) во время выполнения по HQL или критерию запроса.В HQL вы можете использовать fetch join для инициализации значений объединенной коллекции, например:
from Cat as cat
inner join fetch cat.mate
left join fetch cat.kittens
См. Hibernate Doku - 15.3.Ассоциации и объединения
Используйте Criteria.setFetchMode (..) критериев api вместо критериев запросов, например:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "Fritz%") )
.setFetchMode("mate", FetchMode.EAGER)
.setFetchMode("kittens", FetchMode.EAGER)
.list();
Hibernate Doku для этого: 16,5.Выборка динамической ассоциации