Yes, my PK is a Long, and it is set in the repository_user as a BIGINT.

I use RC5.

-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 27, 2004 11:21 AM
To: OJB Users List
Subject: Re: Retrieving referenced object


Hi,

Mindy Pereira wrote:

> The answer to this appears to be yes
> I tried pulling an object with id = 1 and it worked like a charm.
> 

To make things clear, you have a non-primitive PK field (Long in your 
case) and OJB can't handle 0 values correct? If yes, it seems like a 
bug. Which version do you use?

regards,
Armin

> I will just update my PK's
> 
> -----Original Message-----
> From: Mindy Pereira [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, April 27, 2004 10:52 AM
> To: OJB Users List
> Subject: RE: Retrieving referenced object
> 
> 
> No, my PK field is a java Long.
> There is an object with a PK = 0, and this corresponds to the text 
> that is being pulled with the object in the title field. However, the 
> id does not. Does OJB have a problem with PK = 0 for non-primitive 
> types?
> 
> -----Original Message-----
> From: Armin Waibel [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, April 27, 2004 10:50 AM
> To: OJB Users List
> Subject: Re: Retrieving referenced object
> 
> 
> Hi Mindy,
> 
> seems OJB assumes received object is a 'new' object.
> 
> If you use primitive types for PK and FK fields (int, long, ...) in 
> your
> 
> persistence capable objects, OJB has to determine which value is the
> 'null' representation. Currently OJB assume a primitive field is
'null' 
> when it's value is '0'.
> 
> 1083076041971|0|0|statement|SELECT
> A0.TITLE,A0.DESCR,A0.GOAL_ID,A0.OBJECTIVE,A0.
> ID FROM FP_OBJECTIVE A0 WHERE A0.ID IN ( ? )|SELECT 
> A0.TITLE,A0.DESCR,A0.GOAL_ID ,A0.OBJECTIVE,A0.ID FROM FP_OBJECTIVE A0 
> WHERE A0.ID IN ( '0' )
> 
> seems that the retrieved object has 0 as PK value. Now the question, 
> do
> you use primitive PK fields?
> 
> regards
> Armin
> 
> Mindy Pereira wrote:
> 
> 
>>I'm seeing some very strange behavior when I try to retrieve the 
>>ObjectiveBean from the relationship described below:
> 
> 
>><class-descriptor class="appian.fhysp.beans.ProgObjBridgeBean"
>>table="FP_PROG_OBJBRIDGE">
>>      <field-descriptor name="programId" column="PROGRAM_ID" 
>>jdbc-type="BIGINT" primarykey="true"/>
> 
> 
>>      <field-descriptor name="objId" column="OBJ_ID" 
>>jdbc-type="BIGINT" primarykey="true"/>
> 
> 
> 
>>      
>>       <reference-descriptor
>>         name="objective"
>>         class-ref="appian.fhysp.beans.ObjectiveBean"
>>auto-update="false">
>>         <foreignkey field-ref="objId"/>
>>      </reference-descriptor>    
>></class-descriptor>
>>
>>ProgramBean's contain a proxy collection ProgObjBridgeBeans which hold
> 
> a
> 
>>programs relationship to an objective. When I access the 
>>ProgObjBridgeBeans collection, the objective field SHOULD be filled
> 
> from
> 
>>the database with the ObjectiveBean id, title, and descr. Instead, OJB

>>is correctly retrieving the title, but seems to be overwriting the id.

>>(See SQLSpy Output below for more information).
>>
>>SQLSpy Output:
>>
>>1083076041971|0|0|statement|SELECT
>>A0.TITLE,A0.DESCR,A0.GOAL_ID,A0.OBJECTIVE,A0.
>>ID FROM FP_OBJECTIVE A0 WHERE A0.ID IN ( ? )|SELECT 
>>A0.TITLE,A0.DESCR,A0.GOAL_ID ,A0.OBJECTIVE,A0.ID FROM FP_OBJECTIVE A0 
>>WHERE A0.ID IN ( '0' )
>>1083076042041|10|1|statement|SELECT
>>A0.VERSION,A0.GRAB_SIZE,A0.MAX_KEY,A0.FIELDN
>>AME,A0.TABLENAME FROM OJB_HL_SEQ A0 WHERE (A0.TABLENAME LIKE  ? ) AND 
>>A0.FIELDNA ME LIKE  ? |SELECT
>>A0.VERSION,A0.GRAB_SIZE,A0.MAX_KEY,A0.FIELDNAME,A0.TABLENAME
>>FROM OJB_HL_SEQ A0 WHERE (A0.TABLENAME LIKE  'SEQ_FP_OBJECTIVE' ) AND
>>A0.FIELDNA
>>ME LIKE  'ID'
>>1083076042061|10|1|statement|SELECT
>>VERSION,GRAB_SIZE,MAX_KEY,FIELDNAME,TABLENAM
>>E FROM OJB_HL_SEQ WHERE TABLENAME = ?  AND FIELDNAME = ? |SELECT 
>>VERSION,GRAB_SI ZE,MAX_KEY,FIELDNAME,TABLENAME FROM OJB_HL_SEQ WHERE 
>>TABLENAME = 'SEQ_FP_OBJECTI
>>VE'  AND FIELDNAME = 'ID'
>>1083076042071|0|1|statement|UPDATE OJB_HL_SEQ SET
>>MAX_KEY=?,GRAB_SIZE=?,VERSION=
>>? WHERE TABLENAME = ?  AND FIELDNAME = ?  AND VERSION = ? |UPDATE 
>>OJB_HL_SEQ SET  MAX_KEY='352',GRAB_SIZE='20',VERSION='16' WHERE 
>>TABLENAME = 'SEQ_FP_OBJECTIVE'
>> AND FIELDNAME = 'ID'  AND VERSION = '15'
>>1083076042071|0|1|commit||
>>
>>Note that after it retrieves the information from FP_OBJECTIVE
> 
> (filling
> 
>>out the proxy collection of ProgObjBridgeBeans), it then makes a call
> 
> to
> 
>>the primary key auto-incrementer, and the id of the retrieved 
>>ObjectiveBean is set to MAX_KEY +1;
>>
>>Any ideas?
>>
>>
>>
>>      
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

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


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

Reply via email to