From dev-return-4895-apmail-openjpa-dev-archive=openjpa.apache.org@openjpa.apache.org Sat Jul 14 22:06:29 2007 Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 3643 invoked from network); 14 Jul 2007 22:06:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jul 2007 22:06:28 -0000 Received: (qmail 43592 invoked by uid 500); 14 Jul 2007 22:06:30 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 43557 invoked by uid 500); 14 Jul 2007 22:06:30 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 43548 invoked by uid 99); 14 Jul 2007 22:06:30 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Jul 2007 15:06:30 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Jul 2007 15:06:27 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 51B0E7141F6 for ; Sat, 14 Jul 2007 15:06:06 -0700 (PDT) Message-ID: <18572250.1184450765786.JavaMail.jira@brutus> Date: Sat, 14 Jul 2007 15:06:05 -0700 (PDT) From: "Craig Russell (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Updated: (OPENJPA-112) Native queries and named parameters: poor error message MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Craig Russell updated OPENJPA-112: ---------------------------------- Attachment: openjpa-112.patch Please review this patch. It's a little tricky to describe the conditions under which this user error will be encountered. By the time this error is found, the parameters have already been set and the error message must cater to lots of different situations. > Native queries and named parameters: poor error message > ------------------------------------------------------- > > Key: OPENJPA-112 > URL: https://issues.apache.org/jira/browse/OPENJPA-112 > Project: OpenJPA > Issue Type: Bug > Environment: windows xp, openjpa_097_incubating > Reporter: Patrick Linskey > Priority: Minor > Fix For: 0.9.8 > > Attachments: openjpa-112.patch > > > native queries fail when use named parameters > int parm3 = 100; > String sql = "SELECT deptno,budget,NAME,MGR_EMPID,REPORTSTO_DEPTNO FROM DeptBean WHERE deptno >= :deptno "; > Query getDept = _em.createNativeQuery(sql,DeptBean.class > getDept.setParameter("deptno",parm3); > List rl = (getDept.getResultList()); > <4|false|0.9.7-incubating-SNAPSHOT> org.apache.openjpa.persistence.ArgumentException: The parameter name or position "deptno" passed to execute() is not valid. All map keys must be a declared parameter name or a number matching the parameter position. > at org.apache.openjpa.kernel.QueryImpl.toParameterArray(QueryImpl.java:897) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:825) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:763) > at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:520) > at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:224) > at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:264) > at com.ibm.ws.query.tests.JUNamedNativeQueryTest.testSelectDeptBean2(JUNamedNativeQueryTest.java:514) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at junit.framework.TestCase.runTest(Unknown Source) > at junit.framework.TestCase.runBare(Unknown Source) > at junit.framework.TestResult$1.protect(Unknown Source) > at junit.framework.TestResult.runProtected(Unknown Source) > at junit.framework.TestResult.run(Unknown Source) > at junit.framework.TestCase.run(Unknown Source) > at junit.framework.TestSuite.runTest(Unknown Source) > at junit.framework.TestSuite.run(Unknown Source) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.