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 to create Meaningful Primary Keys?
Date Mon, 02 Feb 2009 13:30:59 GMT
And to add to that, it is perfectly valid to manually create an  
ObjAttribute in the Modeler for plate_num to make it an object  
property, even though it's a PK. Cayenne doesn't do it by default, but  
the user can still map it if there is a need.

In fact the upcoming 3.0M6 will even have this as a reverse- 
engineering option:

https://issues.apache.org/cayenne/browse/CAY-1174

Andrus


On Feb 2, 2009, at 3:21 PM, Pierre Lavignotte wrote:

> Here is what I use when I want to get Recomaster entity with primary  
> key =
> id :
>
>        Recomaster recomaster = (Recomaster)
> DataObjectUtils.objectForPK(context, Recomaster.class, id);
>
> And in the Recomaster class, I also have a method that gives me the  
> primary
> key :
>
>    public Integer getId() {
>        return DataObjectUtils.intPKForObject(this);
>    }
>
> There are similar methods for when primary key is not an integer  
> value.
>
> Cheers
>
> Cordialement,
> Pierre Lavignotte
> Ingénieur Conception & Développement
> http://pierre.lavignotte.googlepages.com
>
>
> On Mon, Feb 2, 2009 at 2:14 PM, Νίκος Παράσχου  
> <niparasc@gmail.com> wrote:
>
>> First of all thank you for your replies.
>>
>> I have the following table:
>>
>> Vehicle (
>>      plate_num CHAR(10) NOT NULL,
>>      mixed_weight DOUBLE PRECISION NOT NULL,
>>      type CHAR(30) NOT NULL,
>>      manufacturer CHAR(20),
>>      PRIMARY KEY (plate_num)
>> )
>>
>> In Cayenne Modeller I have the dbEntity "vehicle" with all the above
>> attributes (plate_num is check as PK). There is also the objEntity
>> "Vehicle" with all the above attributes except the PK (plate_num).
>>
>> I want to select the type of the vehicle with plate_num = "AHZ-4141".
>>
>> Could you please post some code samples? I have tried so many things
>> (with DataObjectUtils too) but still no success.
>>
>> Thank you,
>> Nikos
>>
>> Στις 02-02-2009, ημέρα Δευ, και ώρα 12:49 +0100,  
>> ο/η Pierre Lavignotte
>> έγραψε:
>>> Hi Nikos,
>>>
>>> If you need PK for all your tables, then maybe you need to  
>>> generate them.
>>> But if you only need to use them for a couple tables then you  
>>> should look
>> at
>>> DataObjectUtils class.
>>>
>>>
>>> Cheers,
>>> Pierre
>>>
>>> Cordialement,
>>> Pierre Lavignotte
>>> Ingénieur Conception & Développement
>>> http://pierre.lavignotte.googlepages.com
>>>
>>>
>>> On Mon, Feb 2, 2009 at 12:35 PM, Νίκος Παράσχου  
>>> <niparasc@gmail.com>
>> wrote:
>>>
>>>> Hello,
>>>>
>>>> It is the first time I am using cayenne and I have some questions
>>>> regarding the primary keys.
>>>>
>>>> What I want to do is select some rows of a table where the PK has a
>>>> specific value. The problem is I can't access the PK. I can specify
>>>> qualifiers only with the non-PK columns. The PKs I am using have  
>>>> some
>>>> meaning (they are not just numbers) so it is very important to be  
>>>> able
>>>> to use them.
>>>>
>>>> How can I add the PK to the fields of the Object Entities?
>>>>
>>>> In this page
>> http://cayenne.apache.org/doc20/primary-key-generation.html
>>>> the answer is to create a Meaningful Primary Key.
>>>>
>>>> How can I create Meaningful Primary Keys?
>>>>
>>>> Are there any security issues when using Meaningful Primary Keys?
>>>>
>>>> Thank you for your time,
>>>> Nikos
>>>>
>>>>
>>
>>


Mime
View raw message