[
https://issues.apache.org/jira/browse/OPENJPA-315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523286
]
Patrick Linskey commented on OPENJPA-315:
-----------------------------------------
> Please review and apply this test.
What is "this test"? Are you referring to the patch associated with this issue?
If so, how do the changes in http://svn.apache.org/viewcvs?view=rev&rev=567875
not resolve this issue? Note that if you hit the 'subversion commits' tab (or
the 'all' tab) in the comments section, you'll see all commits associated with
a particular JIRA issue.
Also, from a process standpoint, it's fine to create test case patches that
will cause the build to fail when they are applied; presumably, the person who
grabs the patch and applies it expects to use the test case to validate that a
fix works.
> Unenhanced generated id field of a primitive wrapper type causes NPE
> --------------------------------------------------------------------
>
> Key: OPENJPA-315
> URL: https://issues.apache.org/jira/browse/OPENJPA-315
> Project: OpenJPA
> Issue Type: Bug
> Reporter: Dain Sundstrom
> Priority: Critical
> Fix For: 1.0.0
>
> Attachments: OPENJPA-315.patch
>
>
> Unenhanced generated id field of a primitive wrapper type causes NPE because
> the field value is null. This bug only occurs when the id field is an object
> type as primitive fields are automatically initialized to 0. I believe this
> is a critical bug because when using a primitive field the system appears to
> work but the id field is always 0 which could cause data corruption. The
> following stack trace shows the bug:
> <openjpa-0.0.0-r420667:564688M nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: null
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2437)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2251)
> at
> org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1010)
> at
> org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:541)
> at
> org.apache.openjpa.enhance.AbstractUnenhancedClassTest.getObjectIdHelper(AbstractUnenhancedClassTest.java:134)
> at
> org.apache.openjpa.enhance.AbstractUnenhancedClassTest.testGetObjectIdOnOpenJPAType(AbstractUnenhancedClassTest.java:115)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> Caused by: java.lang.NullPointerException
> at
> org.apache.openjpa.util.ApplicationIds.fromPKValues(ApplicationIds.java:152)
> at
> org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcNewObjectIdInstance(ReflectingPersistenceCapable.java:257)
> at
> org.apache.openjpa.util.ApplicationIds.create(ApplicationIds.java:384)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2405)
> ... 23 more
> The attached patch reproduces this bug. The patch is a clone of
> TestUnenhancedFieldAccess that simply changes the id field to type Integer.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.