Hello Everyone,

We are in the process of designing our app using OJB, however we are
constrained by the existing legacy Oracle db's.
We have certain tables with Strings(VARCHAR) columns as primary keys,
which we are mapping to ID's in our beans.

We modified the OJB JDO tutorial5 app to work with our database and
beans, however we are having difficulty having String's as OID's.
I can create a new rows(beans), and I can list existing rows as beans.
However when i try to edit a bean I am getting
the following Null pointer exception thrown when i try to edit the
bean.

I see that the field managers fetchIntfield is getting called, i believe
that is the problem. The app works fine if i have
a table with integer oid and integer primary keys.  The
repository-jdo.xml file is as shown below:

<!-- Definitions for org.apache.ojb.tutorial5.Product -->
   <class-descriptor
        class="testojb.bean.PhaseActivityBean"
        table="sdms.phase_activity"
   >

      <field-descriptor
       name="phaseActivity"
       column="phase_activity"
       jdbc-type="CHAR"
       primarykey="true"
       nullable="true"
            />
      <field-descriptor
         name="description"
         column="padesc"
         jdbc-type="VARCHAR"
       primarykey="false"
      />

   </class-descriptor>

I would appreciate any ideas on this

Thanks,
Vijay .

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Exception:

java.lang.NullPointerException

      at
org.apache.ojb.jdori.sql.OjbFieldManager.getValue(OjbFieldManager.java:328)

      at
org.apache.ojb.jdori.sql.OjbFieldManager.fetchIntField(OjbFieldManager.java:181)

      at
com.sun.jdori.common.state.StateManagerImpl.replacingIntField(Unknown
Source)

      at
testojb.bean.PhaseActivityBean.jdoReplaceField(PhaseActivityBean.java)

      at
testojb.bean.PhaseActivityBean.jdoReplaceFields(PhaseActivityBean.java)

      at
com.sun.jdori.common.state.StateManagerImpl.replaceFields(Unknown
Source)[JDO] DEBUG: OjbStoreConnector.flush:
connectionReadyForRelease=false


[JDO] DEBUG: OjbStoreManager.flush: testojb.bean.PhaseActivityBean{03},
P_DIRTY

[JDO] DEBUG: OjbStoreManager.update



      at
org.apache.ojb.jdori.sql.OjbStoreManager.fetch(OjbStoreManager.java:236)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.update(OjbStoreManager.java:163)

      at com.sun.jdori.common.state.PersistentDirty.flush(Unknown
Source)

      at com.sun.jdori.common.state.StateManagerImpl.flush(Unknown
Source)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.flush(OjbStoreManager.java:365)

      at com.sun.jdori.common.CacheManagerImpl.flushInstances(Unknown
Source)

      at
com.sun.jdori.common.PersistenceManagerImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.prepareFlush(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.commit(Unknown Source)

      at testojb.bean.UCEditProduct.apply(UCEditProduct.java:91)

      at testojb.bean.Application.run(Application.java:125)

      at testojb.bean.Application.main(Application.java:91)

org.apache.ojb.jdori.sql.OjbStoreFatalInternalException:
org.apache.ojb.jdori.sql.OjbStoreManager.fetch
NestedThrowables:
java.lang.NullPointerException

      at
org.apache.ojb.jdori.sql.OjbStoreManager.fetch(OjbStoreManager.java:244)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.update(OjbStoreManager.java:163)

      at com.sun.jdori.common.state.PersistentDirty.flush(Unknown
Source)

      at com.sun.jdori.common.state.StateManagerImpl.flush(Unknown
Source)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.flush(OjbStoreManager.java:365)

      at com.sun.jdori.common.CacheManagerImpl.flushInstances(Unknown
Source)

      at
com.sun.jdori.common.PersistenceManagerImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.prepareFlush(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.commit(Unknown Source)

      at testojb.bean.UCEditProduct.apply(UCEditProduct.java:91)

      at testojb.bean.Application.run(Application.java:125)

      at testojb.bean.Application.main(Application.java:91)

NestedThrowablesStackTrace:

java.lang.NullPointerException

      at
org.apache.ojb.jdori.sql.OjbFieldManager.getValue(OjbFieldManager.java:328)

      at
org.apache.ojb.jdori.sql.OjbFieldManager.fetchIntField(OjbFieldManager.java:181)

      at
com.sun.jdori.common.state.StateManagerImpl.replacingIntField(Unknown
Source)

      at
testojb.bean.PhaseActivityBean.jdoReplaceField(PhaseActivityBean.java)

      at
testojb.bean.PhaseActivityBean.jdoReplaceFields(PhaseActivityBean.java)

      at
com.sun.jdori.common.state.StateManagerImpl.replaceFields(Unknown
Source)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.fetch(OjbStoreManager.java:236)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.update(OjbStoreManager.java:163)

      at com.sun.jdori.common.state.PersistentDirty.flush(Unknown
Source)

      at com.sun.jdori.common.state.StateManagerImpl.flush(Unknown
Source)

      at
org.apache.ojb.jdori.sql.OjbStoreManager.flush(OjbStoreManager.java:365)

      at com.sun.jdori.common.CacheManagerImpl.flushInstances(Unknown
Source)

      at
com.sun.jdori.common.PersistenceManagerImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.prepareFlush(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.commit(Unknown Source)

      at testojb.bean.UCEditProduct.apply(UCEditProduct.java:91)

      at testojb.bean.Application.run(Application.java:125)

      at testojb.bean.Application.main(Application.java:91)

[JDO] DEBUG: OjbStoreConnector.rollback

[org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] INFO: Rollback
was called, do rollback on current connection
[EMAIL PROTECTED]

org.apache.ojb.jdori.sql.OjbStoreFatalInternalException:
org.apache.ojb.jdori.sql.OjbStoreManager.update
NestedThrowables:
org.apache.ojb.jdori.sql.OjbStoreFatalInternalException:
org.apache.ojb.jdori.sql.OjbStoreManager.fetch
NestedThrowables:
java.lang.NullPointerException

      at
org.apache.ojb.jdori.sql.OjbStoreManager.update(OjbStoreManager.java:170)

      at com.sun.jdori.common.state.PersistentDirty.flush(Unknown
Source)

      at com.sun.jdori.common.state.StateManagerImpl.flush(Unknown
Source)

      at

org.apache.ojb.jdori.sql.OjbStoreManager.flush(OjbStoreManager.java:365)

      at com.sun.jdori.common.CacheManagerImpl.flushInstances(Unknown
Source)

      at
com.sun.jdori.common.PersistenceManagerImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.flushInstances(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.prepareFlush(Unknown
Source)

      at com.sun.jdori.common.TransactionImpl.commit(Unknown Source)

      at testojb.bean.UCEditProduct.apply(UCEditProduct.java:91)

      at testojb.bean.Application.run(Application.java:125)

      at testojb.bean.Application.main(Application.java:91)




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to