Re: How do I get a record for non integer pk?

From: Frank (farocc..otmail.com)
Date: Wed May 16 2007 - 13:11:10 EDT

  • Next message: Andrus Adamchik: "Re: How do I get a record for non integer pk?"

    Does it have someting to do with the System name? reserved word?

    Class org.objectstyle.cayenne.CayenneRuntimeException
    Message [v.1.2.3 May 6 2007] PK is not a number: <ObjectId:System,
    System=AIX>
    org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2.3 May 6 2007] PK is
    not a number: <ObjectId:System, System=AIX>
     at
    org.objectstyle.cayenne.DataObjectUtils.intPKForObject(DataObjectUtils.java:93)
     at
    net.sf.click.extras.cayenne.CayenneForm.setDataObject(CayenneForm.java:335)
     at stemc.page.EditSystemPage.getRecord(EditSystemPage.java:41)
     at stemc.page.EditSystemPage.onGet(EditSystemPage.java:71)

    Thanks

    Frank

    ----- Original Message -----
    From: "Bryan Lewis" <brya..aine.rr.com>
    To: <use..ayenne.apache.org>
    Sent: Wednesday, May 16, 2007 1:01 PM
    Subject: Re: How do I get a record for non integer pk?

    > We use that objectForPK() method routinely with a String key and haven't
    > had any problems.
    > What do you mean by "not working"? Is it throwing a
    > CayenneRuntimeException?
    >
    >
    > Frank wrote:
    >> Hello,
    >>
    >> The code below is not working, as it expects the PK to be integer.
    >> There is only one String field in the table defined as a pk.
    >>
    >> Thanks
    >>
    >> Frank
    >>
    >> private void getRecord(String name) {
    >> DataContext context = DataContext.getThreadDataContext();
    >> System s = new System();
    >> s = (System) DataObjectUtils.objectForPK(context, System.class,
    >> name);
    >> form.setDataObject(s);
    >> }
    >>
    >
    >



    This archive was generated by hypermail 2.0.0 : Wed May 16 2007 - 13:12:05 EDT