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]
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.