Never mind, I just did: https://issues.apache.org/cayenne/browse/CAY-1174
Andrus
On Jan 23, 2009, at 9:43 AM, Andrus Adamchik wrote:
+1 on adding this option to the Modeler. Somebody please open a Jira.
Andrus
On Jan 22, 2009, at 10:23 PM, Mike Kienenberger wrote:
I think Martin's issue is that he has meaningful primary keys, and he
wants to have primary key accessors with meaningful names.
Ie, for an Account table, he might want to have "getAccountNumber()"
or for a User table, he might want to have "getUserName()" (assuming
these are the primary key fields). And since there are a lot of
these, he wants to have them generated automatically with reverse
engineering.
If it were me, I guess I'd take a look at the reverse engineering
code
and put in some kind of conditional flag to handle primary key fields
the same as all other fields (there must be some kind of check
already
in there that treats them differently, so this new field would simply
stop treating them differently.
Sounds like a pretty simple "first patch" for the modeler (as simple
as any modeler patch gets).
On Thu, Jan 22, 2009 at 3:00 PM, Robert Zeigler
<robert.zeig...@gmail.com> wrote:
What about having all of your entities extend from a common
superclass that
defines a getter for the pk?
For instance, for many applications, I use a simple int primary
key, so my
entities all extend from a common superclass, with a method ala:
public int getPK() {
return DataObjectUtils.intPKForObject(this);
}
Or even:
public Object getPK() {
return DataObjectUtils.pkForObject(this);
}
to be more general.
Or you could use generics:
public <T> T primaryKey(Class<T> type) {
return type.cast(DataObjectUtils.pkForObject(this));
}
and have all sorts of fun with wrappers, like:
public Integer intPK() {
return primaryKey(Integer.class);
}
Cheers,
Robert
On Jan 22, 2009, at 1/221:47 PM , wwwebi wrote:
Hi,
is there a possibility to create for all objects a getter method
on the
primary key fields within the process of reverse engineering ?
I have a legacy database where the primary keys are used in a
similar way
as a passport no and as I need it for 100+ tables I wondered if I
could not
at least get a getter method of the primary key fields during
reverse
engineering. Setting it afterwards following this faq
http://cwiki.apache.org/CAY/mapping-primary-keys.html is too time
consuming.
I don't see even an issue only with a getter method.
If it's not possible within the modeler I would certainly like to
see this
as an option during reverse engineering in the future :-)
Cheers,
Martin