Re: Can't generate primary key values for given Identity
Armin Waibel <[email protected]>
| Newsgroups | gmane.comp.jakarta.ojb.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Björn,
is this the whole stack trace? Your mapping seems ok. Did you include
the mapping for the HL-sequence (see repository_internal.xml)?
http://db.apache.org/ojb/repository_internal.xml.txt
Does your test pass with the in-memory sequence-manager?
http://db.apache.org/ojb/docu/guides/sequencemanager.html#In-Memory+sequence+manager
regards,
Armin
Björn Voigt wrote:
> hello list,
>
> i've used ojb several times before, but now i am in trouble with ojb.
> I have the following problem. I am using ojb in cocoon try to store
> Objects from a flow controller.
>
> If I store my Object to database, I get a PersistenceBrokerException:
> Can't generate primary key values for given Identity .
>
> I am using Java5 and the HSQLDB shipped with cocoon. My mapping looks like:
>
> <class-descriptor class="de.rim.model.Kunde" table="KUNDE">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER"
> primarykey="true" autoincrement="true">
> <field-descriptor name="vorname" column="VORNAME"
> <field-descriptor name="adresse" column="ADRESSE" jdbc-type="VARCHAR"/>
> <field-descriptor name="plz" column="PLZ" jdbc-type="VARCHAR"/>
> <field-descriptor name="ort" column="ORT" jdbc-type="VARCHAR"/>
> </class-descriptor>
>
> i tried it also with sequence-names, changing to postgres
>
>
> [...]
> Caused by: org.apache.ojb.broker.PersistenceBrokerException: Can't
> generate primary key values for given Identity
> org.apache.ojb.broker.util.sequence.HighLowSequence{kunde_id_seq} at
> org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:225)
> org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:192)
> org.apache.ojb.broker.accesslayer.StatementManager.getKeyValues(StatementManager.java:679)
>
> org.apache.ojb.broker.accesslayer.StatementManager.bindSelect(StatementManager.java:473)
>
> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:570)
>
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1504)
>
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1548)
>
> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1671)
>
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1643)
>
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:357)
>
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:357)
>
> org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.lookupStoreSequence(SequenceManagerHighLowImpl.java:296)
>
> org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(SequenceManagerHighLowImpl.java:267)
>
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
> org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:214)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>