Attempted to assign id from null one-to-one property
Description
Attachments
- 28 Mar 2018, 02:27 PM
caused by
causes
is a fix for
is duplicated by
is followed up by
Activity
Former user July 15, 2021 at 10:30 PM
Fixed in 5.3 branch as well.
Former user April 28, 2021 at 6:06 PM
@Avinash Tiwari , if you’re seeing this issue in 5.4.x, then please open a new issue and provide a test that reproduces the issue.
Avinash Tiwari April 15, 2021 at 9:00 AM
m getting same exception oin hibernate-code 5.4.30.Final. Is anybody found soultion for this?
Former user February 1, 2021 at 5:55 PM
@Jan-Willem Gmelig Meyling, you are correct this.
I am in the middle of setting up test cases, but I've had to work on other things. I should be able to get back to this soon.
Jan-Willem Gmelig Meyling January 30, 2021 at 1:22 PM
That makes sense, the issue was introduced in 5.2 and is introduced by a side-effect of HHH-9460, which also landed in 5.3.0. I belive this change is intended to fix it: https://github.com/hibernate/hibernate-orm/pull/3488 , but the fix is not yet complete. Perhaps someone can contribute a test case and see confirm whether this issue is indeed fixed by the PR.
catch very unexpected exception while updgrading hibernate version 5.2.12 -> 5.2.15
in scenario when
there are object whith null OneToOne property in database
and it is updated with object with non null OneToOne property.
i create test project to reproduce this case - https://github.com/evg345/spring-data-hibernate-bug
Caused by: org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property [models.Secunda.parent] at org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:90) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:105) at org.hibernate.jpa.event.internal.core.JpaMergeEventListener.saveWithGeneratedId(JpaMergeEventListener.java:56) at org.hibernate.event.internal.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:255) at org.hibernate.event.internal.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:235) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:173) at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:905) at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:875) at org.hibernate.engine.spi.CascadingActions$6.cascade(CascadingActions.java:261) at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:467) at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:392) at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:193) at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:126) at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:461) at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:327) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:170) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:69) at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:883) at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:869)
it seems that some versions of Hibernate are broken
5.2.12.Final = GOOD
5.2.13.Final = GOOD
5.2.14.Final = Exception
5.2.15.Final = Exception
5.2.16.Final = Exception
i create test to reproduce https://github.com/evg345/hibernate-test-case-templates/blob/master/orm/hibernate-orm-5/src/test/java/org/hibernate/bugs/HHH12436/OneToOnePropertyTestCase.java
and make pulll request also