Assuming that the offending exception was caught, and the relevant session was cleaned (closed, optionally reconnected), then the results should be:
- The Employee object, excluding still-proxied assocations/collections, is still ok to use.
- Ditto for empphones[0].
- empphones[1] and [2] will be proxied objects: using any of their fields will cause a CGLib exception.
No objects that were non-null while the session was valid will be set to null, or anything like that. The only difference between before and after the hibernate exception is that accessing still-proxied objects will cause a CGLib exception.