Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 12220 invoked from network); 9 Dec 2010 19:50:25 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 9 Dec 2010 19:50:25 -0000 Received: (qmail 89596 invoked by uid 500); 9 Dec 2010 19:50:25 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 89514 invoked by uid 500); 9 Dec 2010 19:50:25 -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 89506 invoked by uid 99); 9 Dec 2010 19:50:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Dec 2010 19:50:24 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED 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; Thu, 09 Dec 2010 19:50:23 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id oB9Jo2uh022913 for ; Thu, 9 Dec 2010 19:50:02 GMT Message-ID: <7782648.44381291924202470.JavaMail.jira@thor> Date: Thu, 9 Dec 2010 14:50:02 -0500 (EST) From: "Dominik Stadler (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Commented: (OPENJPA-1903) Some queries only work the first time they are executed In-Reply-To: <2684396.2621291662430322.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-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969900#action_12969900 ] Dominik Stadler commented on OPENJPA-1903: ------------------------------------------ I tried todays snapshot build labeled openjpa-2.2.0-20101209.084750-4.jar but my standalone testcase still fails with the same error. I also tried to check out the source and add a testcase to the exsiting TestQueryCache testcase. Strangely there it works, although I use the same settings in the Entities and the same test-code! What could be the difference here? I see the following warning when running TestQueryCache, which might be related but which I cannot make much sense of: {code] Query "select m from Child m where m.parent = :parent " is removed from cache excluded permanently. Query "select m from Child m where m.parent = :parent " is not cached because its result is not obtained by executing a select statement. This can happen if the query was evaluated in-memory. The result was provided by org.apache.openjpa.datacache.QueryCacheStoreQuery$CachingResultObjectProvider. . {code} > Some queries only work the first time they are executed > ------------------------------------------------------- > > Key: OPENJPA-1903 > URL: https://issues.apache.org/jira/browse/OPENJPA-1903 > Project: OpenJPA > Issue Type: Bug > Components: query > Affects Versions: 2.0.1 > Reporter: Dominik Stadler > Assignee: Pinaki Poddar > > I have a problem in my application where a query that sometimes returns data and sometimes not. > I have reduced it to the code as much as I could into an Eclipse project available at http://ubuntuone.com/p/S9n/ > This happens with OpenJPA 2.0.1 as well as the daily snapshot from 2010-12-05 and an out-of-process Derby database. > Basically I have two Entities which both use multiple Ids to produce the Primary Key, "Preis" contains a foreign key on "Website": > @Entity > @IdClass(MandantAndNameIdentity.class) > public class Website { > @Id > private String mandant; > > @Id > private String name; > ... > } > @Entity > @IdClass(WebsiteProduktDatumIdentity.class) > public class Preis { > @Id > @ManyToOne(cascade = CascadeType.MERGE) > private Website website; > @Id > @Basic > private String datum; > ... > } > I use the following to set up a website and a Preis: > em.getTransaction().begin(); > Website website = em.merge(new Website("Mandant", "Website")); > em.merge(new Preis(website, DATUM)); > > em.getTransaction().commit(); > Afterwards, if I run the query as follows: > TypedQuery q = em.createQuery( > "select m from Preis m " + > "where m.website.name = :website ", Preis.class); > q.setParameter("website", website.getName()); > this query works all the time, note that it uses website.name for matching, not the full Website-object. > However if I put the query as > TypedQuery q = em.createQuery( > "select m from Preis m " + > "where m.website = :website ", Preis.class); > q.setParameter("website", website); > it only works ONCE and then does not return any results any more!! See testcase DataAccessVerifyTest for details. > Discussion on the mailinglist seems to indicate that this is a bug. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.