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 <and...@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 <h...@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
>
>

Reply via email to