cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Gentry" <blackn...@gmail.com>
Subject Re: Select Query on Table with no Primary Key
Date Wed, 06 Jun 2007 15:46:20 GMT
The only thing I can think of trying (and maybe Andrus/Tore/Mike/etc would
have better ideas) is to model that ObjEntity (and perhaps others it relates
to?) as read-only and see if Cayenne stops caring about missing a PK.  Just
a thought -- I've not tried it.

/dev/mrg


On 6/6/07, Dave Merrin <dmerrin@ipasystems.co.uk> wrote:
>
> Sorry, I forgot to mention that I won't be updating the data. I would
> like to move round the database using relationships though.
>
> Apart from changing the database are there any hacks I could try to get
> round this problem.
>
> Cheers,
>
> Dave
>
> Michael Gentry wrote:
> > Cayenne needs PKs in order to do UPDATEs.  If you aren't modifying the
> > data,
> > you might try fetching as data rows instead of CayenneDataObjects.
> > I'm not
> > certain if that would work, but has a much higher chance.  Of course,
> you
> > still won't be able to make a CayenneDataObject out of it.
> >
> > /dev/mrg
> >
> >
> > On 6/6/07, Dave Merrin <dmerrin@ipasystems.co.uk> wrote:
> >>
> >> Hi,
> >>
> >> I'm trying to run a SelectQuery on a table with no primary key.
> >> Unfortunately it's not working. Can anybody help? I have no control
> over
> >> the database so I can't add in primary keys.
> >>
> >> Cheers,
> >>
> >> Dave
> >>
> >> INFO  QueryLogger: SELECT t0.ID, t0.KIND, t0.TIMESTAMP FROM
> >> MPS.STATETABLE_CPT t0
> >> INFO  QueryLogger: === returned 949 rows. - took 203 ms.
> >> INFO  QueryLogger: +++ transaction committed.
> >> Exception in thread "main" org.apache.cayenne.CayenneRuntimeException:
> >> [v.2.0.3 May 6 2007] Won't be able to create ObjectId for
> >> 'StatetableCpt'. Reason: DbEntity 'STATETABLE_CPT' has no Primary Key
> >> defined.
> >>         at
> >> org.apache.cayenne.access.ObjectResolver.init(ObjectResolver.java:75)
> >>         at
> >> org.apache.cayenne.access.ObjectResolver.<init>(ObjectResolver.java:57)
> >>         at
> >>
> org.apache.cayenne.access.DataDomainQueryAction.interceptObjectConversion(
> >>
> >> DataDomainQueryAction.java:319)
> >>         at
> >> org.apache.cayenne.access.DataDomainQueryAction.execute(
> >> DataDomainQueryAction.java:116)
> >>         at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java
> >> :746)
> >>         at
> >> org.apache.cayenne.util.ObjectContextQueryAction.runQuery(
> >> ObjectContextQueryAction.java:217)
> >>         at
> >> org.apache.cayenne.access.DataContextQueryAction.execute(
> >> DataContextQueryAction.java:54)
> >>         at
> >> org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1387)
> >>         at
> >> org.apache.cayenne.access.DataContext.performQuery(DataContext.java
> :1376)
> >>
> >>         at
> >> ipa.printexpress.datahelpers.Session.fetchEntityCollection(Session.java
> >> :158)
> >>         at
> >> ipa.px.importer.abb.ABBImporterMain.main(ABBImporterMain.java:109)
> >>
> >
>
>

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