openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
Subject Re: Troubleshooting help
Date Tue, 09 Jan 2007 06:39:59 GMT
Craig-

It sounds like we are initializing an int field, but we are reading  
null from the database.

Can you check the database to see if there are any nulls in the  
column to which the "id" field is being mapped?

Also, if you change the field type from "int" to "Integer", do you  
get the same error?


On Jan 8, 2007, at 9:01 PM, Craig L Russell wrote:

> Hi,
>
> I got this stack trace. Any ideas how to troubleshoot?
>
> Thanks,
>
> Craig
>      [java] <0|false|0.9.6-incubating>  
> org.apache.openjpa.persistence.PersistenceException: null
>      [java]     at org.apache.openjpa.kernel.BrokerImpl.find 
> (BrokerImpl.java:851)
>      [java]     at org.apache.openjpa.kernel.BrokerImpl.find 
> (BrokerImpl.java:743)
>      [java]     at org.apache.openjpa.kernel.DelegatingBroker.find 
> (DelegatingBroker.java:169)
>      [java]     at  
> org.apache.openjpa.persistence.EntityManagerImpl.find 
> (EntityManagerImpl.java:320)
>      [java]     at pb.adapter.EJB3Adapter.lookupComponent 
> (EJB3Adapter.java:254)
>      [java]     at pb.common.InternalDriver.lookupComponent 
> (InternalDriver.java:322)
>      [java]     at pb.common.InternalDriver.createRelationships 
> (InternalDriver.java:285)
>      [java]     at pb.OCDriver.createRelationships(OCDriver.java:114)
>      [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0 
> (Native Method)
>      [java]     at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:39)
>      [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:25)
>      [java]     at java.lang.reflect.Method.invoke(Method.java:585)
>      [java]     at com.sun.faban.driver.core.AgentThread.timeRun 
> (AgentThread.java:194)
>      [java]     at com.sun.faban.driver.core.AgentThread.run 
> (AgentThread.java:123)
>      [java] Caused by: java.lang.NumberFormatException: null
>      [java]     at java.lang.Integer.parseInt(Integer.java:415)
>      [java]     at java.lang.Integer.parseInt(Integer.java:497)
>      [java]     at pb.common.Component.pcsetId(Component.java:95)
>      [java]     at pb.common.Component.pcClearFields(Component.java)
>      [java]     at pb.common.Component.pcNewInstance(Component.java)
>      [java]     at org.apache.openjpa.enhance.PCRegistry.newInstance 
> (PCRegistry.java:117)
>      [java]     at  
> org.apache.openjpa.kernel.StateManagerImpl.initialize 
> (StateManagerImpl.java:247)
>      [java]     at  
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState 
> (JDBCStoreManager.java:327)
>      [java]     at  
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize 
> (JDBCStoreManager.java:252)
>      [java]     at  
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize 
> (DelegatingStoreManager.java:108)
>      [java]     at  
> org.apache.openjpa.kernel.ROPStoreManager.initialize 
> (ROPStoreManager.java:54)
>      [java]     at org.apache.openjpa.kernel.BrokerImpl.initialize 
> (BrokerImpl.java:870)
>      [java]     at org.apache.openjpa.kernel.BrokerImpl.find 
> (BrokerImpl.java:828)
>      [java]     ... 13 more
>
> This was after lots of warnings, but they didn't look related:
>      [java] PersistenceDriver::initProperties:ejb30:true
>      [java] 5490  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing class "pb.common.Assembly".
>      [java] 5492  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing package "pb.common.Assembly".
>      [java] 5720  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing query "findRangeassembly".
>      [java] 5746  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing query "findAssemblyByBOM".
>      [java] 5783  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing class "pb.common.BOM".
>      [java] 5949  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing class "pb.common.Component".
>      [java] 6012  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing query "findRangecomponent".
>      [java] 6049  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Parsing class "pb.common.Supplier".
>      [java] 6222  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance  
> - Detected the following possible violations of the restrictions  
> placed on property access persistent types:
>      [java] "pb.common.Assembly" uses property access, but its  
> field "purchased" is accessed directly in method "writeObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "planner" is accessed directly in method "readObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "description" is accessed directly in method "writeObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "planner" is accessed directly in method "writeObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "id" is accessed directly in method "readObject" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "boms" is accessed directly in method "writeObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "version" is accessed directly in method "writeObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "version" is accessed directly in method "readObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "boms" is accessed directly in method "readObject" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "lomark" is accessed directly in method "readObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "himark" is accessed directly in method "writeObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "revision" is accessed directly in method "writeObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "id" is accessed directly in method "setId" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "type" is accessed directly in method "readObject" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "description" is accessed directly in method "readObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "himark" is accessed directly in method "readObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "planner" is accessed directly in method "setId" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "id" is accessed directly in method "writeObject" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "purchased" is accessed directly in method "readObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "type" is accessed directly in method "writeObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "name" is accessed directly in method "readObject" defined in  
> "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "name" is accessed directly in method "writeObject" defined  
> in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "revision" is accessed directly in method "readObject"  
> defined in "pb.common.Assembly".
>      [java] "pb.common.Assembly" uses property access, but its  
> field "lomark" is accessed directly in method "writeObject" defined  
> in "pb.common.Assembly".
>      [java] 7184  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance  
> - Detected the following possible violations of the restrictions  
> placed on property access persistent types:
>      [java] "pb.common.Component" uses property access, but its  
> field "type" is accessed directly in method "writeObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "revision" is accessed directly in method "readObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "description" is accessed directly in method "readObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "revision" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "planner" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "lomark" is accessed directly in method "readObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "id" is accessed directly in method "writeObject" defined in  
> "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "type" is accessed directly in method "readObject" defined in  
> "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "id" is accessed directly in method "setId" defined in  
> "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "suppliers" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "lomark" is accessed directly in method "writeObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "planner" is accessed directly in method "readObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "description" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "purchased" is accessed directly in method "readObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "planner" is accessed directly in method "setId" defined in  
> "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "purchased" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "name" is accessed directly in method "writeObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "version" is accessed directly in method "readObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "suppliers" is accessed directly in method "readObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "himark" is accessed directly in method "readObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "id" is accessed directly in method "readObject" defined in  
> "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "himark" is accessed directly in method "writeObject" defined  
> in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "version" is accessed directly in method "writeObject"  
> defined in "pb.common.Component".
>      [java] "pb.common.Component" uses property access, but its  
> field "name" is accessed directly in method "readObject" defined in  
> "pb.common.Component".
>      [java] s_dbAdapterClass:pb.adapter.EJB3ToplinkAdapter
>      [java] 114  INFO   [OCDriverAllOpsAgent[0].0] openjpa.Runtime  
> - Starting OpenJPA 0.9.6-incubating
>      [java] 347  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.jdbc.JDBC - Using dictionary class  
> "org.apache.openjpa.jdbc.sql.DerbyDictionary".
>      [java] 1408  INFO   [OCDriverAllOpsAgent[0].0]  
> openjpa.MetaData - Found 4 classes with metadata in 1 milliseconds.
>      [java] 9368  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance  
> - Detected the following possible violations of the restrictions  
> placed on property access persistent types:
>      [java] "pb.common.Supplier" uses property access, but its  
> field "components" is accessed directly in method "writeObject"  
> defined in "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "name" is accessed directly in method "readObject" defined in  
> "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "version" is accessed directly in method "writeObject"  
> defined in "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "name" is accessed directly in method "writeObject" defined  
> in "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "id" is accessed directly in method "readObject" defined in  
> "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "version" is accessed directly in method "readObject" defined  
> in "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "components" is accessed directly in method "readObject"  
> defined in "pb.common.Supplier".
>      [java] "pb.common.Supplier" uses property access, but its  
> field "id" is accessed directly in method "writeObject" defined in  
> "pb.common.Supplier".
>      [java] 9537  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance  
> - Detected the following possible violations of the restrictions  
> placed on property access persistent types:
>      [java] "pb.common.BOM" uses property access, but its field  
> "assembly" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "opsNo" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "version" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "qty" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "qty" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "engChange" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "version" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "component" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "assembly" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "engChange" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "opsDesc" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "opsDesc" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "lineNo" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "component" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "lineNo" is accessed directly in method "writeObject" defined in  
> "pb.common.BOM".
>      [java] "pb.common.BOM" uses property access, but its field  
> "opsNo" is accessed directly in method "readObject" defined in  
> "pb.common.BOM".
>
> Craig Russell
> DB PMC
> clr@apache.org http://db.apache.org/jdo
>
>


Mime
View raw message