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]
