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
>
>
>
>
>
>

Reply via email to