Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 9427 invoked from network); 19 Apr 2010 16:58:11 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 Apr 2010 16:58:11 -0000 Received: (qmail 10981 invoked by uid 500); 19 Apr 2010 16:58:11 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 10912 invoked by uid 500); 19 Apr 2010 16:58:11 -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 10903 invoked by uid 99); 19 Apr 2010 16:58:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Apr 2010 16:58:10 +0000 X-ASF-Spam-Status: No, hits=-1311.9 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Apr 2010 16:58:09 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o3JGvnKN002446 for ; Mon, 19 Apr 2010 12:57:49 -0400 (EDT) Message-ID: <16482371.15731271696269105.JavaMail.jira@thor> Date: Mon, 19 Apr 2010 12:57:49 -0400 (EDT) From: "Donald Woods (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Updated: (OPENJPA-1627) ORderBy with @ElementJoinColumn and EmbeddedId uses wrong columns in SQL In-Reply-To: <11789427.20081271067701256.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/OPENJPA-1627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Donald Woods updated OPENJPA-1627: ---------------------------------- Fix Version/s: 2.1.0 Patch Info: [Patch Available] the fix has been checked into trunk (2.1) will decide later if we want this in 2.0.1 > ORderBy with @ElementJoinColumn and EmbeddedId uses wrong columns in SQL > ------------------------------------------------------------------------ > > Key: OPENJPA-1627 > URL: https://issues.apache.org/jira/browse/OPENJPA-1627 > Project: OpenJPA > Issue Type: Bug > Components: sql > Affects Versions: 2.0.0-beta3 > Environment: Windows 7 32 bit / Oracle XE > Reporter: Michael McGovern > Assignee: Fay Wang > Fix For: 2.1.0 > > Attachments: OPENJPA-1627.patch > > > Typical bank example, Account with Transactions. It is a legacy db so Transaction has compound key - represented by TransactionId class. > The problem is that the order by in the generated SQL is for columns mapped in the transaction entity NOT the TransacionId as expected. > So the Account class has the following fragment.... > @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) > @ElementJoinColumn(name="maccno", referencedColumnName="maccno") > @OrderBy(value = "_id._processDate ASC, _id._tranSequenceNumber ASC") > private LinkedList _transactions; > _processDate and _tranSequenceNumber are defined in the TransactionId class. > Transaction has the following fragment.... > @EmbeddedId > private TransactionId _id; > > @Column(name = "mtrancde") > private int _transactionCode; > > @Column(name = "mamount") > private BigDecimal _amount; > > @Column(name = "mdesc") > private String _description; > > @Column(name = "mactdate") > private Date _actualDate; > > @Column(name = "mbranch") > private int _branch; > And TransactionId defines the primary key columns.... > @Embeddable > public class TransactionId { > > @Column(name = "maccno") > private String _accountNumber; > > @Column(name = "mprocdate") > private Date _processDate; > > @Column(name = "mtranseqno") > private int _tranSequenceNumber; > However the generated SQL is doing order by on columns mapped in Transaction: > executing prepstmnt 23188098 SELECT t0.maccno, t0.mprocdate, t0.mtranseqno, t0.mactdate, t0.mamount, t0.mbranch, t0.mchqcash, t0.mdesc, > t0.mtmnlno, t0.mtrancde, t0.mtrnfeed > FROM transaction t0 > WHERE t0.maccno = ? > ORDER BY t0.mamount ASC, t0.mbranch ASC [params=(String) 000734123] > (no idea why it chose mamount, mbranch) > The last line should be: > ORDER BY t0.mprocdate ASC, t0.mtranseqno ASC [params=(String) 000734123] > Thanks > Michael -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.