The fetch="" attribute applies when you're directly getting/loading an object containing the colleciton. If you're using Criteria or HQL, it doesn't apply (or at least, it doesn't seem to apply.. maybe it does under certain circumstances). For HQL, use the "join fetch" syntax to force a join fetch.
Code:
select r
from Route r
join fetch r.Paths p
join fetch p.ExchExcludes e
where r.name = :Name
Use a nested Criteria to do the same with Criteria:
Code:
Criteria crit = sess.createCriteria(RouteImpl.class);
crit.createCriteria("paths", "p").createCriteria("exchExcludes", e);
crit.add(Restrictions.like("name", sName, MatchMode.ANYWHERE));