Return-Path: X-Original-To: apmail-openjpa-dev-archive@www.apache.org Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1CC2E6F6A for ; Thu, 26 May 2011 13:46:35 +0000 (UTC) Received: (qmail 29751 invoked by uid 500); 26 May 2011 13:46:35 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 29723 invoked by uid 500); 26 May 2011 13:46:34 -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 29715 invoked by uid 99); 26 May 2011 13:46:34 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 May 2011 13:46:34 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 May 2011 13:46:32 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id C4B6AE0534 for ; Thu, 26 May 2011 13:45:51 +0000 (UTC) Date: Thu, 26 May 2011 13:45:51 +0000 (UTC) From: "Rick Curtis (JIRA)" To: dev@openjpa.apache.org Message-ID: <1967809834.45321.1306417551787.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <89453010.10630.1305306887429.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (OPENJPA-1999) Optional support for non-sequential positional parameters MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-1999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rick Curtis updated OPENJPA-1999: --------------------------------- Attachment: OPENJPA-1999.patch @David - Please give the attached patch a try. I'll note that it's still a little fluid, but I'd like to get confirmation that it works for you before spending much more time going down this path. Since this behavior goes against the spec and it worked for one reason or another in a previous release, I'm not planning on enabling this functionality by default. To enable support for this feature, you'll have to set a new comparability flag[1]. The gist of this patch is that I mapped all positional parameters to a stringified version of the param ($1=>:_1). This way the runtime thinks the user has named parameters and the user thinks they're using positional parameters. [1]openjpa.Compatibility=ConvertPositionalParametersToNamed=true > Optional support for non-sequential positional parameters > --------------------------------------------------------- > > Key: OPENJPA-1999 > URL: https://issues.apache.org/jira/browse/OPENJPA-1999 > Project: OpenJPA > Issue Type: Improvement > Components: competitive, jpa, query, usability > Reporter: David Blevins > Attachments: OPENJPA-1999.patch > > > Optional support for less strict following of positional parameters. e.g. > Query query = entityManager.createQuery("SELECT m from Movie as m WHERE m.title = ?2 AND m.year = ?4"); > query.setParameter(2, "Foo"); > query.setParameter(4, 2011); > return query.getResultList(); > Previous OpenJPA releases support this as do current EclipseLink and Hibernate versions. For the migration and upgrade scenarios and the development scenario -- can be a pain to have to always update positional parameters while tweaking queries -- this could make a compelling optional feature. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira