Hello Ladies and Gentlemen,

I need your help please.

Storing the following data structures to the data base keeps ending up in a
NullPointerException no matter what I try.

BenutzerBO <- m:n -> PrivilegeBO - 1:n -> ActionBO

My configuration:
OJB 1.1 rc3.
MySQL  3.23.52 (as shipped with Suse-Linux 8.1)
Java 1.4.1

Stack-Tace:
[org.apache.ojb.odmg.ObjectEnvelopeTable] ERROR: Commit on object level
failed for tx [EMAIL PROTECTED]
null
java.lang.NullPointerException
        at
org.apache.ojb.broker.metadata.FieldDescriptor.getJdbcType(FieldDescriptor.j
ava:210)
        at
org.apache.ojb.broker.metadata.FieldDescriptor.getColumnJdbcType(FieldDescri
ptor.java:194)
        at
org.apache.ojb.broker.util.SqlHelper.getSqlTypeRwAll(SqlHelper.java:480)
        at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManag
er.java:492)
        at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:198)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBroker
Impl.java:1926)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1841)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1799)
        at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:163)
        at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)
        at
org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelopeTab
le.java:234)
        at
org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:189)
        at
org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:3
42)
        at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:595)
        at
org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:545)
        at Main.main(Main.java:83)
[org.apache.ojb.odmg.TransactionImpl] ERROR: Could not prepare for commit:
null

repository_user.xml:
<class-descriptor
        class="BusinessObjects.PrivilegeBO"
        table="PRIVILEGEBO">
        <field-descriptor
                name="id"
                column="ID"
                jdbc-type="INTEGER"
                primarykey="true"
                autoincrement="true"
        />
        <field-descriptor
                name="beschreibung"
                column="BESCHREIBUNG"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="privilegeName"
                column="PRIVILEGENAME"
                jdbc-type="VARCHAR"
        />
        <collection-descriptor
                name="actions"
                element-class-ref="BusinessObjects.ActionBO"
                auto-retrieve="true"
                auto-update="false"
                auto-delete="false">
                        <inverse-foreignkey field-ref="fid"/>
        </collection-descriptor>
        <collection-descriptor
                name="members"
                element-class-ref="BusinessObjects.BenutzerBO"
                auto-retrieve="true"
                auto-update="false"
                auto-delete="false"
                indirection-table="BENUTZERBOPRIVILEGEBO">
                        <fk-pointing-to-this-class column="PRIVILEGEBO_ID"/>
                        <fk-pointing-to-element-class column="BENUTZERBO_ID"/>
        </collection-descriptor>
</class-descriptor>

<class-descriptor
        class="BusinessObjects.BenutzerBO"
        table="BENUTZERBO">
        <field-descriptor
                name="id"
                column="ID"
                jdbc-type="INTEGER"
                primarykey="true"
                autoincrement="true"
        />
        <field-descriptor
                name="beschreibung"
                column="BESCHREIBUNG"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="vorName"
                column="VORNAME"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="nachName"
                column="NACHNAME"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="userName"
                column="USERNAME"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="emAddr"
                column="EMADDR"
                jdbc-type="VARCHAR"
        />
        <field-descriptor
                name="passWD"
                column="PASSWD"
                jdbc-type="VARCHAR"
        />
        <collection-descriptor
                name="privileges"
                auto-retrieve="true"
                auto-update="false"
                auto-delete="false"
                element-class-ref="BusinessObjects.PrivilegeBO"
                indirection-table="BENUTZERBOPRIVILEGEBO">
                        <fk-pointing-to-this-class column="BENUTZERBO_ID"/>
                        <fk-pointing-to-element-class column="PRIVILEGEBO_ID"/>
        </collection-descriptor>
</class-descriptor>

<class-descriptor
        class="BusinessObjects.ActionBO"
        table="ACTIONBO"
        >
        <field-descriptor
                name="id"
                column="ID"
                jdbc-type="INTEGER"
                primarykey="true"
                autoincrement="true"
                />
        <field-descriptor
                name="beschreibung"
                column="BESCHREIBUNG"
                jdbc-type="VARCHAR"
                />
        <field-descriptor
                name="name"
                column="NAME"
                jdbc-type="VARCHAR"
                />
        <field-descriptor
                name="description"
                column="DESCRIPTION"
                jdbc-tpye="VARCHAR"
                />
        <field-descriptor
                name="fid"
                column="FID"
                jdbc-type="INTEGER"
                />
        <field-descriptor
                name="label"
                column="LABEL"
                jdbc-type="VARCHAR"
                />
</class-descriptor>

What the heck is wrong  here. Or am I running into a bug.

Many thanks in advance for your comments.


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

Reply via email to