[ https://issues.apache.org/jira/browse/OPENJPA-2228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Helen Xu updated OPENJPA-2228: ------------------------------ Attachment: OPENJPA-2228.patch I was able to reproduce the problem. user parameter index got messed up when there are duplicate param key. the fix and unit test attached. > QuerySQLCache broken for Entities with @EmbeddedId > -------------------------------------------------- > > Key: OPENJPA-2228 > URL: https://issues.apache.org/jira/browse/OPENJPA-2228 > Project: OpenJPA > Issue Type: Bug > Components: query > Affects Versions: 2.2.0 > Reporter: Michael Glauche > Assignee: Helen Xu > Attachments: OPENJPA-2228.patch, openjpaBugreport.zip > > > Multiple calls of a query which has some Relationships with @EmbeddedId > fields fails if QuerySQLCache is enabled. > q = em.createQuery("select l from ListTest l where l.te=:test"); > does create: > SELECT t0.id, t0.keyA, t0.keyB, t0.keyC, t1.keyA, t1.keyB, t1.keyC, t1.data1, > t1.data2 > FROM ListTest t0 LEFT OUTER JOIN TestEntity t1 ON t0.keyA = t1.keyA AND > t0.keyB > = t1.keyB AND t0.keyC = t1.keyC > WHERE (t0.keyA = ? AND t0.keyB = ? AND t0.keyC = ?) > [params=(int) 1, (int) 2, (int) 3] > however a second query will create: > q = em.createQuery("select l from ListTest l where l.te=:test"); > SELECT t0.id, t0.keyA, t0.keyB, t0.keyC, t1.keyA, t1.keyB, t1.keyC, t1.data1, > t1.data2 > FROM ListTest t0 LEFT OUTER JOIN TestEntity t1 ON t0.keyA = t1.keyA AND > t0.keyB > = t1.keyB AND t0.keyC = t1.keyC > WHERE (t0.keyA = ? AND t0.keyB = ? AND t0.keyC = ?) > [params=(int) 3, (int) 2, (int) 3] > Note the wrong first param ! > (There is some Index filed calculated somewhere in the query and the index > Array has [0,0,0] as values, so the 0th position does get updated three times > .. the bug should be something with the index i think) > See attached test-project -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira