I currently mark collections in entity beans as eager to avoid getting a lazy initialization exception when I try to access the collection properties after loading the bean
One final option which seems to of been missed is you can build your object graph based on your use-case by using a JOIN.
This will result in the object being initialized, i.e the will not be a proxy.
Use this approach if you are in control of the client (i.e you not creating open service publishing an api) because you need to know what state is being touched when the session is closed because the transaction has closed.