Brian -- Your class descriptor for org.skife.registry.domain.User includes two fields that are marked as primary keys, userId and handle. In that situation, you need to specify two inverse-foreignkey entries for the giftsRequested collection descriptor, one for each field in the primary key.
I'm guessing that marking the field "handle" as a primary key is a mistake since there's no "handle" field on the gifts table. HTH Ron Gallagher Atlanta, GA [EMAIL PROTECTED] > > From: Brian McCallister <[EMAIL PROTECTED]> > Date: 2003/02/02 Sun PM 07:56:22 EST > To: OJB Users List <[EMAIL PROTECTED]> > Subject: Collection help, please... > > I feel silly for not being able to figure this out, but I have not been > able to. I am sure it is some small configuration problem I have missed, > but looking over the docs, and my code, I cannot find it. Of note - OJB > .9.8, PostgreSQL 7.3, the standard pgsql jdbc3.0 driver. > > When I attempt to instantiate a class (source follows) which has a > collection of other persistent objects in it, I get a nasty series of > JDBC exceptions. > > I only have two classes for this setup, a User class and a Gift class - > the User contains a Vector of Gifts. > > If there is a User in the database: > > registry=> select * from users ; > userid | handle | password | firstname | lastname > --------+--------+----------+-----------+------------- > 1 | wheee | tester | Brian | McCallister > (1 row) > > and a gift for that user: > > registry=> select * from gifts ; > giftid | name | foruserid > --------+--------------+----------- > 1 | Wireless Hub | 1 > (1 row) > > before the tests run and I attempt to load said user I get the > exception. If i delete the gift frm the database I have no problem, if I > add a gift in the test and then load the user again, no problem, but if > the gift exists before I start running the test, boom it dies. > > The test is simply loading the user via a query for the handle via the > PB API. > > Any help would be much appreciated > > <class-descriptor > class="org.skife.registry.domain.User" > table="USERS" > > > <field-descriptor id="1" > name="userId" > column="userid" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true" > indexed="true" > /> > <field-descriptor id="2" > name="firstName" > column="firstname" > jdbc-type="VARCHAR" > nullable="true" > /> > <field-descriptor > id="3" > name="lastName" > column="lastname" > jdbc-type="VARCHAR" > nullable="true" > /> > <field-descriptor id="4" > name="password" > column="PASSWORD" > jdbc-type="VARCHAR" > /> > <field-descriptor id="5" > name="handle" > column="HANDLE" > jdbc-type="VARCHAR" > primarykey="true" > indexed="true" > /> > <collection-descriptor > name="giftsRequested" > element-class-ref="org.skife.registry.domain.Gift" > auto-update="true" > auto-delete="true" > > > <inverse-foreignkey field-id-ref="3"/> > </collection-descriptor> > </class-descriptor> > > <class-descriptor > class="org.skife.registry.domain.Gift" > table="GIFTS"> > <field-descriptor id="1" > name="id" > column="giftid" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true" > indexed="true" > /> > <field-descriptor > id="2" > name="name" > column="name" > jdbc-type="VARCHAR" > nullable="true" > /> > <field-descriptor > id="3" > name="userId" > column="foruserid" > jdbc-type="INTEGER" > /> > <reference-descriptor > name="user" > class-ref="org.skife.registry.domain.User" > auto-update="false" > auto-delete="false" > > > <foreignkey field-id-ref="3"/> > </reference-descriptor> > > </class-descriptor> > <snip> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]