Hi, Stuart,
The error message "Cannot perform an update or delete operation on select
query" suggests that openjpa thinks your query is a select operation, and
therefore when executeUpdate is called on this query, openjpa does not know how
to update/delete on the select statement.
There are a couple of reason why openjpa will think a query is a select
statement. The following is one example:
Query query = em.createNativeQuery("update BasicA set name = ? where id =?",
BasicA.class);
Note that the result class (BasicA.class) is provided as an extra input
parameter to the createNativeQuery api. For this query object, if you call
executeUpdate on it, you will get "Cannot perform an update or delete operation
on select query" error. You might want to check your code to see exactly how
the native query is created.
Regards,
Fay
--- On Tue, 10/28/08, Stuart Bedoll <[EMAIL PROTECTED]> wrote:
From: Stuart Bedoll <[EMAIL PROTECTED]>
Subject: Re: Native Query: Update fails with InvalidStateException
To: [email protected]
Date: Tuesday, October 28, 2008, 1:06 PM
What version of the IBM feature pack did you use. I am at:
Name WebSphere Application Server Version 6.1 Feature Pack
for EJB 3.0
Version 6.1.0.13
ID EJB3
Build Level f0747.05
Build Date 11/30/07
Installed Product
Fay Wang <[EMAIL PROTECTED]>
Fay Wang <[EMAIL PROTECTED]>
10/27/2008 10:10 AM
Please respond to
[email protected]
To
[email protected]
cc
Subject
Re: Native Query: Update fails with InvalidStateException
Hi,
I could not reproduce this problem against DB2. Which database are you
using? also,can you post your persistence.xml to see if there is any special
setting?
Fay
--- On Mon, 10/27/08, sbedoll <[EMAIL PROTECTED]> wrote:
> From: sbedoll <[EMAIL PROTECTED]>
> Subject: Native Query: Update fails with InvalidStateException
> To: [email protected]
> Date: Monday, October 27, 2008, 6:37 AM
> I am using local transactions and get this error when
> executing a NativeQuery
> (query.executeUpdate)
>
> <openjpa-1.0.1-r420667:592145 nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException:
> Cannot perform an
> update or delete operation on select query: "Update
> FPA2.NW_OR_004_14702765
> Set Cost=? Where PT_GRID_ID=?".
> at
> org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:324)
> at
> fpa.fw.ds.jpadataadapter.JPADataSourceAdapter.executeNativeUpdate(JPADataSourceAdapter.java:815)
>
> I am using IBM JPA. Is there something I am missing ?
>
>
> --
> View this message in context:
> http://n2.nabble.com/Native-Query%3A-Update-fails-with-InvalidStateException-tp1382362p1382362.html
> Sent from the OpenJPA Users mailing list archive at
> Nabble.com.