Following my observations from link I open this ticket as instructed on same topic.
Basically I have 2 Hibernate persistent entities Company, Manager ("has a" relationship).
Manager.resume is annotated with (@Basic(fetch = FetchType.LAZY)). Both entity classes are compile time instrumented by org.hibernate.orm.tooling:hibernate-enhance-maven-plugin.
At runtime during the transactional/Hibernate session scope:
create new instance Company/Manager
assemble them (they are still transient)
try to call session.merge(company). Following this I get the error below.
The use case can be reproduced with the attached test case.
As I said in the post, by debugging and checking your github fixes for hibernate 4.x on same error:
Maybe a solution would be to modify the following method ? org.hibernate.type.TypeHelper.replace(Object, Object, Type, SharedSessionContractImplementor, Object, Map, ForeignKeyDirection))
by adding a condition like you did when fixing the other
just as you did with the other one: org.hibernate.type.TypeHelper.replace(Object, Object, Type, SharedSessionContractImplementor, Object, Map) in pull 891 https://github.com/hibernate/hibernate-orm/pull/891/files
I think this method is called for MyEntity properties (org.hibernate.type.TypeHelper.replace(Object, Object, Type, SharedSessionContractImplementor, Object, Map, ForeignKeyDirection))) because I am persisting MyEntity indirectly through a parent entity MyContainerEntity (one-to-one relation, MyEntity being the owning side).
So the particularity of this case is that that a child entity fails to get merged through a parent entity. The child entity is compile time instrumented and has a LAZY Basic attribute/property.
Thanks in advance for looking
<version.org.hibernate>5.2.1.Final</version.org.hibernate> / 5.2.2.Final
org.hibernate.orm.tooling:hibernate-enhance-maven-plugin:5.2.1.Final / 5.2.2.Final