You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by sagar bijlwan <sa...@gmail.com> on 2017/01/20 15:50:32 UTC
Issue while accessing primary key in cayenne 4.0.M4
Hello,
In cayenne 3 primary key column is also available as a property in auto
generated java model so it can be easily accessed using setters and
getters, However, it seems same can't be said about cayenne 4. When I am
generating Java model of the same DB table, I am only getting PK column (
and not the new "Property" type for the primary key) thus I don't have any
setters and getters for the primary key.
Am I missing something here as I don't seem to recall doing anything
special in cayenne 3? Or should I do anything extra in cayenne 4 to make it
work?
Any insight into this would be appreciated.
Regards
Sagar
Re: Issue while accessing primary key in cayenne 4.0.M4
Posted by Andrus Adamchik <an...@objectstyle.org>.
Yeah, it is a bit confusing. We had discussions on improving this UI and we may still do it. This field is a regex (or a comma, separated list of regex's ? :)). Anyways, to include all tables, you need to enter ".*" in there.
Andrus
> On Jan 20, 2017, at 7:48 PM, sagar bijlwan <sa...@gmail.com> wrote:
>
> Thanks Andrus for the prompt reply,
>
> I think how I was able to generate setter for the PK in Cayenne 3.
>
> 1. While reengineering DB schema in modeler, there is a checkbox for
> meaningful PK.
> 2. I checked that one and hence it resulted in setter for PK.
>
> However, in revamped UI of 4.0.M4, this checkbox is chucked out and now
> there is a text field which is pretty subtle change and I happen to miss
> that. Once I write name of the table in the field, generated model has the
> PK as a property.
>
> Now this was fine with single table. If there are multiple tables then Is
> a comma separated list of table names a good approach ? or what you
> mentioned in point 2 of your previous mail ? ( my bet is on this ).
>
> Regards
> Sagar
>
> On Fri, Jan 20, 2017 at 4:17 PM, Andrus Adamchik <an...@objectstyle.org>
> wrote:
>
>> Actually NOT making PK a part of the object model was a default in Cayenne
>> since day 1.
>>
>> 1. If all you need is to read the PK value, you can use
>> Cayenne.pkForObject(..)
>> 2. If this is a meaningful PK and you need a setter, just create a new
>> ObjAttribute in the Modeler manually and map it to PK column.
>>
>> HTH,
>> Andrus
>>
>> ---------------
>> Andrus Adamchik
>> @andrus_a | @ApacheCayenne
>>
>>> On Jan 20, 2017, at 10:50 AM, sagar bijlwan <sa...@gmail.com>
>> wrote:
>>>
>>> Hello,
>>>
>>> In cayenne 3 primary key column is also available as a property in auto
>>> generated java model so it can be easily accessed using setters and
>>> getters, However, it seems same can't be said about cayenne 4. When I am
>>> generating Java model of the same DB table, I am only getting PK column (
>>> and not the new "Property" type for the primary key) thus I don't have
>> any
>>> setters and getters for the primary key.
>>>
>>> Am I missing something here as I don't seem to recall doing anything
>>> special in cayenne 3? Or should I do anything extra in cayenne 4 to make
>> it
>>> work?
>>>
>>> Any insight into this would be appreciated.
>>>
>>> Regards
>>> Sagar
>>
>>
>>
>
>
> --
> S A M
Re: Issue while accessing primary key in cayenne 4.0.M4
Posted by sagar bijlwan <sa...@gmail.com>.
Thanks Andrus for the prompt reply,
I think how I was able to generate setter for the PK in Cayenne 3.
1. While reengineering DB schema in modeler, there is a checkbox for
meaningful PK.
2. I checked that one and hence it resulted in setter for PK.
However, in revamped UI of 4.0.M4, this checkbox is chucked out and now
there is a text field which is pretty subtle change and I happen to miss
that. Once I write name of the table in the field, generated model has the
PK as a property.
Now this was fine with single table. If there are multiple tables then Is
a comma separated list of table names a good approach ? or what you
mentioned in point 2 of your previous mail ? ( my bet is on this ).
Regards
Sagar
On Fri, Jan 20, 2017 at 4:17 PM, Andrus Adamchik <an...@objectstyle.org>
wrote:
> Actually NOT making PK a part of the object model was a default in Cayenne
> since day 1.
>
> 1. If all you need is to read the PK value, you can use
> Cayenne.pkForObject(..)
> 2. If this is a meaningful PK and you need a setter, just create a new
> ObjAttribute in the Modeler manually and map it to PK column.
>
> HTH,
> Andrus
>
> ---------------
> Andrus Adamchik
> @andrus_a | @ApacheCayenne
>
> > On Jan 20, 2017, at 10:50 AM, sagar bijlwan <sa...@gmail.com>
> wrote:
> >
> > Hello,
> >
> > In cayenne 3 primary key column is also available as a property in auto
> > generated java model so it can be easily accessed using setters and
> > getters, However, it seems same can't be said about cayenne 4. When I am
> > generating Java model of the same DB table, I am only getting PK column (
> > and not the new "Property" type for the primary key) thus I don't have
> any
> > setters and getters for the primary key.
> >
> > Am I missing something here as I don't seem to recall doing anything
> > special in cayenne 3? Or should I do anything extra in cayenne 4 to make
> it
> > work?
> >
> > Any insight into this would be appreciated.
> >
> > Regards
> > Sagar
>
>
>
--
S A M
Re: Issue while accessing primary key in cayenne 4.0.M4
Posted by Andrus Adamchik <an...@objectstyle.org>.
Actually NOT making PK a part of the object model was a default in Cayenne since day 1.
1. If all you need is to read the PK value, you can use Cayenne.pkForObject(..)
2. If this is a meaningful PK and you need a setter, just create a new ObjAttribute in the Modeler manually and map it to PK column.
HTH,
Andrus
---------------
Andrus Adamchik
@andrus_a | @ApacheCayenne
> On Jan 20, 2017, at 10:50 AM, sagar bijlwan <sa...@gmail.com> wrote:
>
> Hello,
>
> In cayenne 3 primary key column is also available as a property in auto
> generated java model so it can be easily accessed using setters and
> getters, However, it seems same can't be said about cayenne 4. When I am
> generating Java model of the same DB table, I am only getting PK column (
> and not the new "Property" type for the primary key) thus I don't have any
> setters and getters for the primary key.
>
> Am I missing something here as I don't seem to recall doing anything
> special in cayenne 3? Or should I do anything extra in cayenne 4 to make it
> work?
>
> Any insight into this would be appreciated.
>
> Regards
> Sagar