[JIRA] (HHH-16942) OneToOne Mapping with PartitionKey fails
by Arul Pragasam (JIRA)
Arul Pragasam ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=59fd553... ) *created* an issue
Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiMjI0NzA0OTU4... ) / Bug ( https://hibernate.atlassian.net/browse/HHH-16942?atlOrigin=eyJpIjoiMjI0Nz... ) HHH-16942 ( https://hibernate.atlassian.net/browse/HHH-16942?atlOrigin=eyJpIjoiMjI0Nz... ) OneToOne Mapping with PartitionKey fails ( https://hibernate.atlassian.net/browse/HHH-16942?atlOrigin=eyJpIjoiMjI0Nz... )
Issue Type: Bug Assignee: Unassigned Created: 16/Jul/2023 18:39 PM Priority: Major Reporter: Arul Pragasam ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=59fd553... )
I have two entities named ‘Contact’ And ‘ContactCustomField’. They have 1:1 relationship between them. Both contact/and custom field has account_id which defined as a partition key. When we define such a mapping, startup fails with below NPE
jakarta.persistence.PersistenceException: [PersistenceUnit: templatePU] Unable to build Hibernate SessionFactory
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1539)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1460)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:55)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at org.hibernate.bugs.PartitionKey1_1Test.init(PartitionKey1_1Test.java:38)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
Caused by: java.lang.NullPointerException: Cannot invoke "org.hibernate.metamodel.mapping.SelectableMapping.isPartitioned()" because "selectableMapping" is null
at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.applyPartictionKeyRestriction(UpdateCoordinatorStandard.java:1118)
at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.lambda$applyTableUpdateDetails$20(UpdateCoordinatorStandard.java:1105)
at org.hibernate.sql.model.ast.builder.MutationGroupBuilder.lambda$forEachTableMutationBuilder$0(MutationGroupBuilder.java:71)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
at org.hibernate.sql.model.ast.builder.MutationGroupBuilder.forEachTableMutationBuilder(MutationGroupBuilder.java:71)
at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.applyTableUpdateDetails(UpdateCoordinatorStandard.java:1101)
at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.buildStaticUpdateGroup(UpdateCoordinatorStandard.java:1578)
at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.<init>(UpdateCoordinatorStandard.java:92)
at org.hibernate.persister.entity.AbstractEntityPersister.buildUpdateCoordinator(AbstractEntityPersister.java:3419)
at org.hibernate.persister.entity.AbstractEntityPersister.doLateInit(AbstractEntityPersister.java:3195)
at org.hibernate.persister.entity.AbstractEntityPersister.postInstantiate(AbstractEntityPersister.java:3439)
at org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.finishInitialization(MappingMetamodelImpl.java:204)
at org.hibernate.internal.SessionFactoryImpl.initializeMappingModel(SessionFactoryImpl.java:320)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:270)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455)
... 33 more
( https://hibernate.atlassian.net/browse/HHH-16942#add-comment?atlOrigin=ey... ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-16942#add-comment?atlOrigin=ey... )
Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.... ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailN... ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100232- sha1:33a7c72 )
2 years, 8 months