Preferred way is lazy mode (I found it in Hibernate FAQ).
Please, please some Hibernate Guru for answer how to load data when lazy collection are cascaded?
Without its is lazy mode unusable and eager mode very slow for real application.
There are several ways, you can define the batch-size at collections and classes level and load the first element (not EJB3 standard) or use eager or use 2 collections fetches in your query (not EJB3 standard). It depends on you application