cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: How do I get a record for non integer pk?
Date Wed, 16 May 2007 17:17:38 GMT
These two lines are not the same:

> at org.objectstyle.cayenne.DataObjectUtils.intPKForObject 
> (DataObjectUtils.java:93)


>> s = (System) DataObjectUtils.objectForPK(context, System.class,  
>> name);

So now you are talking about a different problem. To fix your latest  
problem use "pkForObject" instead of "intPKForObject"....

Andrus


On May 16, 2007, at 8:11 PM, Frank wrote:

> 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" <bryan@maine.rr.com>
> To: <user@cayenne.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);
>>>     }
>>>
>>
>
>


Mime
View raw message