This bug affects the following combination:
* enhancement-as-proxy is enabled; * a lazy to-one association is mapped with {{@LazyToOne(LazyToOneOption.NO_PROXY)}}; * the association is with an entity of a {{Class}} that has subclasses; * the association is loaded as a {{HibernateProxy}} via {{EntityType#resolveIdentifier}}; * the same proxy is later re-loaded for another association or by {{Session#load}} or {{Session#getReference}}.
In {{EntityType#resolveIdentifier}}, when a the {{HibernateProxy}} is returned by {{Session#internalLoad}}, it sets {{HibernateProxy#setUnwrap( true )}} in [this code|https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/type/EntityType.java#L695-L698].
Later, when the same {{HibernateProxy}} is retrieved from {{StatefulPersistenceContext}} by {{DefaultLoadEventListener#proxyOrLoad}}, it gets initialized by [this code|https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java#L290-L292] . |
|