Sorry, I was busy with other things the whole time. I had only run the test in the IDE (IntelliJ), and that’s where the error occurs. When I run it via Maven, everything works correctly. I suspect it’s related to the enhancement process, which might not have been executed in that case.
If I proceed as follows: - maven clean - run the test in IntelliJ - then I get this output: 110 TestPU INFO [main] openjpa.Runtime - OpenJPA dynamically loaded a validation provider. 131 TestPU INFO [main] openjpa.Runtime - Starting OpenJPA 4.1.1 602 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 1707066 SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class WHERE relkind='S' 603 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 606 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 27291474 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 615 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [9 ms] spent 615 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 9079669 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 616 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 616 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 28449851 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 617 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 617 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 12456799 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 618 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 618 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 22876193 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 619 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 619 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 6585945 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 620 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 620 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 4371489 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 620 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 621 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 31683984 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 621 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 622 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 32193376 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 622 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 622 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 7346738 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 623 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 623 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 27936161 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 623 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 624 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 28309745 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 624 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 624 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 30146015 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 625 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 625 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 32166558 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 625 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 625 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 396431 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 626 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 626 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 6425998 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 627 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 627 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 4142424 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 628 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 628 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 28344035 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 629 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 629 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 19816750 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 630 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 630 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 32507000 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 630 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 631 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 2386027 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 631 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 631 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 11095402 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 632 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 632 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 4744832 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 633 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 633 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 25064501 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 634 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 634 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 1981121 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 634 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 634 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 7929077 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 635 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [1 ms] spent 635 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> executing prepstmnt 24112092 SELECT pg_get_serial_sequence(?, ?) [params=?, ?] 635 TestPU TRACE [main] openjpa.jdbc.SQL - <t 8127684, conn 15281337> [0 ms] spent 666 TestPU WARN [main] openjpa.Enhance - Creating subclass for "[class de.test.entity.TestEntity]". This means that your application will be less efficient and will consume more memory than it would if you ran the OpenJPA enhancer. Additionally, lazy loading will not be available for one-to-one and many-to-one persistent attributes in types using field access; they will be loaded eagerly instead. <openjpa-4.1.1-r9d2f5f8 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: Cannot invoke "Object.getClass()" because "val" is null at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2719) at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2698) at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2600) at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1197) at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:857) at de.test.dao.TestEntityDAO.create(TestEntityDAO.java:46) at de.test.TestEntityPersistenceTest.testPersistEntity(TestEntityPersistenceTest.java:42) 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:569) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:66) 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:231) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "val" is null at org.apache.openjpa.util.ApplicationIds.fromPKValues(ApplicationIds.java:217) at org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcNewObjectIdInstance(ReflectingPersistenceCapable.java:302) at org.apache.openjpa.util.ApplicationIds.create(ApplicationIds.java:434) at org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2786) at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2715) ... 76 more Best regards, Malte Am Mi., 9. Juli 2025 um 12:21 Uhr schrieb Malte < [email protected]>: > Hello! > > I have a problem with primary key with UUID. The insert of a new data > record does not work. > > I get a NullPointerException > Caused by: java.lang.NullPointerException: Cannot invoke > "Object.getClass()" because "val" is null > at > org.apache.openjpa.util.ApplicationIds.fromPKValues(ApplicationIds.java:217) > at > org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcNewObjectIdInstance(ReflectingPersistenceCapable.java:302) > > My entity looks like this > > @Id > @GeneratedValue(strategy = GenerationType.UUID) > @Column(name = "id", nullable = false, columnDefinition = "uuid") > private UUID id; > > I have attached a small test project with the test case. > > Best regards, > > Malte > > > > > >
