Well I don't know if there is a better way, but when we use Hibernate we just turn lazy loading off so that it loads everything. It obviously costs more to do this, but I wasn't sure how to get away from the lazy loading methods that Hibernate would create.
If a Containers has sets of data that are not used often then they will not be loaded and it is up to the requesting UI Form to call it and send it for update. (We built update classes to pass all the information together)
In the case of UI Forms that loaded lots of Containers we just make special classes and fill in what we need for them. They are sort of read-only containers that aren't used for persistence.
There may be better ways.. but I am learning :)