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 15:05:30 GMT
Well, you can still use PostgreSQL's sequences.  After all, that's what the
"serial" type inherently uses.  No need to manually set the PKs.

mrg


On Thu, Jul 28, 2016 at 10:15 AM, Harunobu Oyama <ho@telensa.com> wrote:

> Thank you Andrus and Michael,
>
> I will workaround the issue, probably by explicitly setting the PK's from
> Java code, until it gets officially supported by Cayenne then.
>
> nbou
>
>
>
> On 28 July 2016 at 15:11, Andrus Adamchik <andrus@objectstyle.org> wrote:
>
> > Good to know this is finally supported on PG :)
> >
> > And yeah, we'll still need to patch Cayenne, so we'll also address PG
> > driver specifics.
> >
> > Andrus
> >
> > > On Jul 28, 2016, at 5:01 PM, Michael Gentry <blacknext@gmail.com>
> wrote:
> > >
> > > 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