[
https://issues.apache.org/jira/browse/OPENJPA-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969059#action_12969059
]
Pinaki Poddar commented on OPENJPA-1903:
----------------------------------------
If your environment permits, try recent SVN commit r1043221 [1] on trunk.
If it does not, will suggest alternative, non-kosher way to test if the
proposed change resolves the reported probiem.
It is a bug.
[1]
http://openjpa.208410.n2.nabble.com/svn-commit-r1043221-openjpa-trunk-openjpa-jdbc-src-main-java-org-apache-openjpa-jdbc-kernel-Prepareda-td5813517.html
> 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<Preis> 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<Preis> 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.