cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <blackn...@gmail.com>
Subject Re: auto PK generation in Cayenne 4 + PostgreSQL combination?
Date Thu, 28 Jul 2016 14:01:18 GMT
A little Google searching found:

https://github.com/pgjdbc/pgjdbc/issues/99

This leads me to believe BatchAction.runAsIndividualQueries() would have to
be changed for PostgreSQL, otherwise all of the column values are returned
instead of just the new PK value.

mrg


On Thu, Jul 28, 2016 at 9:45 AM, Michael Gentry <blacknext@gmail.com> wrote:

> The PostgreSQL documentation says:
>
> CREATE TABLE tablename (
>     colname SERIAL
> );
>
> is equivalent to specifying:
>
> CREATE SEQUENCE tablename_colname_seq;
> CREATE TABLE tablename (
>     colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
> );
> ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
>
>
> We'd have to see if the JDBC driver returns the sequence value generated
> for the serial column.
>
> mrg
>
>
>
> On Thu, Jul 28, 2016 at 9:10 AM, Andrus Adamchik <andrus@objectstyle.org>
> wrote:
>
>> Back in the day PG driver did not support autoincremented values at the
>> JDBC level. So we had to always revert to sequences.
>>
>> I'd like to run a test to see if it does now. If the test is successful,
>> we can reconfigure Cayenne PostgresAdapter to enable aoto-increment
>> strategy. Will keep the list posted.
>>
>> Andrus
>>
>>
>> > On Jul 28, 2016, at 12:48 PM, Harunobu Oyama <ho@telensa.com> wrote:
>> >
>> > Hi,
>> >
>> >
>> > What is the proper way to setup auto PK generation when Cayenne 4 +
>> > PostgreSQL are in use?
>> >
>> > Suppose I have a simple table like this.
>> >
>> > create table "asset" (
>> >  "asset_id" bigserial not null
>> >  , "name" character varying not null
>> >  , constraint "asset_PKC" primary key ("asset_id")
>> > ) ;
>> >
>> > No matter how I configure the PK generation settings, it seems Cayenne
>> > runtime
>> > requires sequence named "pk_asset".
>> >
>> > Ideally we would like to automate the table-sequence combination by
>> using
>> > serial/bigserial.
>> >
>> > How can I tell Cayenne stop requiring "pk_asset"?
>> >
>> >
>> > thank you,
>> > nobu
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message