cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Kerr <mrmattk...@gmail.com>
Subject Re: How to create Meaningful Primary Keys? JUST SAY NO TO MEANINGFUL POINTERS!
Date Mon, 02 Feb 2009 14:48:49 GMT
> Do poeple agree w/ me here?

yes.


On Mon, Feb 2, 2009 at 9:15 AM, Eric Lazarus <ericllazarus@yahoo.com> wrote:
> I can't let this point(er) go buy: JUST SAY NO TO MEANINGFUL POINTERS!
>
> There are BIG problems with having meaningful primary keys in general in terms of keeping
your program growing and useful long term. When you can avoid it, avoid it... and when YOU
are designing the underlying database from scratch, I think you can almost always avoid it.
Putting meaning in the pointers is often the reason that a system needs to be re-written or
pitched and replaced.
>
> A client of mine had to replace an existing application because they had used four budget
product codes as part of a pointer field and could no longer represent the number of products
in four digits. Cost huge $ to upgrade to SAP...
>
> Here is another example, a bad choose made by apple early on, putting data into what
amounts to a pointer:
>
> http://en.wikipedia.org/wiki/Mac_OS_memory_management
>
> So, now it seems that the name and DOB of each person is not going to change. Later it
turns out that they do change under some situations and now you have to write big hacks to
deal with it.
>
> Just say no to meaning in pointers! Keep pointers STUPID! Meaningless bit squences make
great pointers in OO programs. That's my view.
>
> Of course rules are made to be broken and, when the DB exists already and is used by
a big pile of existing code, you likely have no choice but in other situations, try to avoid
meaningfulness in pointers.
>
> Do poeple agree w/ me here?
>
> Eric
> +1 (917) 589-6579
>
> --- On Mon, 2/2/09, Pierre Lavignotte <pierre.lavignotte@gmail.com> wrote:
>
> From: Pierre Lavignotte <pierre.lavignotte@gmail.com>
> Subject: Re: How to create Meaningful Primary Keys?
> To: user@cayenne.apache.org
> Date: Monday, February 2, 2009, 8:28 AM
>
> I don't think his question is about sequence usage but about selecting rows
> with specific PK values...
>
> Cordialement,
> Pierre Lavignotte
> Ingénieur Conception & Développement
> http://pierre.lavignotte.googlepages.com
>
>
> On Mon, Feb 2, 2009 at 2:25 PM, Alessio Giovanni Baroni <
> alessiogiovanni.baroni@gmail.com> wrote:
>
>> It's all ok. But, you are sure that in Entity screen, you are selected
>> "Custom Sequence" on the "PK Generation Strategy"?
>> If you do it, AND you add a filed relative to a pk column, you can
> handling
>> the keys, without the cayenne's control.
>>
>> Hi.
>>
>>
>> 2009/2/2 Νίκος Παράσχου <niparasc@gmail.com>
>>
>> > 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