Has nothing to do with the mapping. When you provide for lazy loading on an object, you accept a responsibility that has bewitched the ORM world for a decade: that the session you loaded the object with will be the same one as the session that is present when the lazy requests are issued.
In your case, it looks like the session is completely gone.
You have to have some means of either maintaining the session (which often leads to a need for conversation scope, which would mean either Seam or CDI (in EE 6)) or you have to resync your object with the new session that you have (usually by looking it up again).