Say I have three entities, Owner, Cat, Kitten
@Entity
public class Owner {
 private Integer ownerId;
 private Set<Cat> cats = new HashSet<Cat>(0);
 .
 .
 .
}
@Entity
public class Cat {
 private Integer catId;
 private Set<Kitten> kittens = new HashSet<Kitten>(0);
 .
 .
 .
}
@Entity
public class Kitten {
 private Integer kittenId;
 .
 .
 .
}
select o from Owner o join fetch o.cats
select o from Owner o join fetch o.cats join fetch o.cats.kittens
should be smth. like this (I didn't try it):
select o from Owner o join fetch o.cats c join fetch c.kittens