OPENJPA-703: Set original query string for prepared query

git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@768395 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Pinaki Poddar 2009-04-24 18:49:46 +00:00
parent ffdf2648fd
commit 2c7432cccd
2 changed files with 13 additions and 0 deletions

View File

@ -130,6 +130,7 @@ public class PreparedQueryImpl implements PreparedQuery {
* query.
*/
public void setInto(Query q) {
q.setQuery(_id);
if (!_isProjection)
q.setCandidateType(_candidate, _subclasses);
}

View File

@ -146,6 +146,18 @@ public class TestPreparedQueryCache extends SQLListenerTestCase {
assertEquals(jpql, pq.getOriginalQuery());
}
public void testOriginalJPQLQueryStringIsSetOnPreparedQuery() {
String jpql = "select p from Company p";
OpenJPAEntityManager em = emf.createEntityManager();
OpenJPAQuery q1 = em.createQuery(jpql);
q1.getResultList();
PreparedQuery pq = getCache().get(jpql);
assertNotNull(pq);
OpenJPAQuery q2 = em.createQuery(jpql);
assertEquals(jpql,q2.getQueryString());
}
public void testExclusionPattern() {
OpenJPAEntityManager em = emf.createEntityManager();
OpenJPAQuery q1 = em.createQuery(EXCLUDED_QUERY_1);