cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Frank" <faro...@hotmail.com>
Subject Re: How do I get a record for non integer pk?
Date Wed, 16 May 2007 17:23:26 GMT
I think it has something to do with Click CayenneForm
I changed CayenneForm to Form and it works.

Seems CayenneForm is tring to fetch my int id

Frank
----- Original Message ----- 
From: "Andrus Adamchik" <andrus@objectstyle.org>
To: <user@cayenne.apache.org>
Sent: Wednesday, May 16, 2007 1:17 PM
Subject: Re: How do I get a record for non integer pk?


> 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