You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2008/06/19 14:25:45 UTC
[jira] Assigned: (OPENJPA-451)
org.apache.openjpa.util.GeneralException: null at
org.apache.openjpa.kernel.BrokerImpl.embed(BrokerImpl.java:2645)
[ https://issues.apache.org/jira/browse/OPENJPA-451?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pinaki Poddar reassigned OPENJPA-451:
-------------------------------------
Assignee: Pinaki Poddar
> org.apache.openjpa.util.GeneralException: null at org.apache.openjpa.kernel.BrokerImpl.embed(BrokerImpl.java:2645)
> ------------------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-451
> URL: https://issues.apache.org/jira/browse/OPENJPA-451
> Project: OpenJPA
> Issue Type: Test
> Affects Versions: 1.0.0
> Environment: Windows Vista, Intel Core 2 Duo, 1gb RAM
> Reporter: Sebastian Souza
> Assignee: Pinaki Poddar
> Priority: Minor
>
> This is the case
> Class Item {
> private Collection<Attribute> attributes;
> }
> Class Attribute {
> private Item item;
> private Data data;
> }
> Class abstract Data {
> public abstract Object getValue ();
> public abstract void setValue (Object value);
> }
> Class DataString extends Data {
> private String value;
> public Object getValue () {return this.value;}
> public void setValue (Object value) {this.value = (String)value;}
> }
> In my orm.xml i declare
> <mapped-superclass class="Data">
> <entity class="Item">
> <attributes>
> <one-to-many name="attributes" target-entity="Attribute" mapped-by="item">
> <cascade>
> <cascade-persist/>
> </cascade>
> </onte-to-many>
> </attributes>
> </entity>
> <entitiy class="Attribute">
> <attributes>
> ...
> <embedded name="data">
> </attributes>
> </entity>
> <embeddable class="DataString">
> <attributes>
> <basic name="value">
> <column name ="data"/>
> </basic>
> </attributes>
> </embeddable>
> Data is persisted in Attribute table, so it has to be an embedded field
> When i try to commit an Item in
> getTransaction ().commit ();
> 239680 ITSM TRACE [main] openjpa.Runtime - An exception occurred while ending the transaction. This exception will be re-thrown.
> <openjpa-1.0.0-r420667:568756 nonfatal general error> org.apache.openjpa.util.GeneralException: null
> at org.apache.openjpa.kernel.BrokerImpl.embed(BrokerImpl.java:2645)
> at org.apache.openjpa.kernel.SingleFieldManager.embed(SingleFieldManager.java:847)
> at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:588)
> at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:562)
> at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:478)
> at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2775)
> at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:39)
> at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:940)
> at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1884)
> at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1844)
> at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1762)
> at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
> at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1292)
> at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:861)
> at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:408)
> at itsm.framework.persistence.business.PersistentObjectBusiness.insert(PersistentObjectBusiness.java:38)
> at itsm.framework.persistence.mappers.PersistentObjectMapper.create(PersistentObjectMapper.java:38)
> at itsm.configuration.mappers.ConfigurationItemVersionMapper.create(ConfigurationItemVersionMapper.java:33)
> at itsm.configuration.business.ConfigurationItemVersionBusiness.create(ConfigurationItemVersionBusiness.java:52)
> at itsm.configuration.facade.ConfigurationManagementFacade.createVersion(ConfigurationManagementFacade.java:711)
> at itsm.configuration.test.TestConfigurationItemVersion.testCreateWithAttributesWithoutRelationships(TestConfigurationItemVersion.java:123)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: java.lang.NullPointerException
> at org.apache.openjpa.kernel.BrokerImpl.embed(BrokerImpl.java:2623)
> ... 39 more
> If i change my code to
> Class Item {
> private Collection<Attribute> attributes;
> }
> Class Attribute {
> private Item item;
> private DataString data; // Reference to a specialization class
> }
> Everything works fine!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.