cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harunobu Oyama ...@telensa.com>
Subject Re: auto PK generation in Cayenne 4 + PostgreSQL combination?
Date Thu, 28 Jul 2016 14:15:31 GMT
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