openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (OPENJPA-1903) Some queries only work the first time they are executed
Date Tue, 07 Dec 2010 09:34:08 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pinaki Poddar reassigned OPENJPA-1903:
--------------------------------------

    Assignee: Pinaki Poddar

> 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.


Mime
View raw message