Package org.apache.openjpa.kernel

Examples of org.apache.openjpa.kernel.PreparedQuery


        Query query = em.createQuery(jpql, QueryTest1.class);

        List rs = query.getResultList();
        assertTrue(rs.get(0) instanceof QueryTest1);
        PreparedQuery pq = getPreparedQueryCache().get(jpql);
        assertNotNull(pq);

        Query query2 = em.createQuery(jpql, QueryTest1.class);
        PreparedQuery pq2 = getPreparedQueryCache().get(jpql);
        assertEquals(pq, pq2);
        rs = query2.getResultList();
        assertTrue(rs.get(0) instanceof QueryTest1);

        jpql = "SELECT o.datum FROM QueryTest1 o";
View Full Code Here


       
    }
   
   
    void assertCached(String id) {
        PreparedQuery cached = getPreparedQueryCache().get(id);
        assertNotNull(getPreparedQueryCache() + ": " + getPreparedQueryCache().getMapView() +
                " does not contain " + id, cached);
    }
View Full Code Here

 
  public void testPreparedQueryIdentifierIsOriginalJPQLQuery() {
        String jpql = "select p from Company p";
        OpenJPAQuery<?> q1 = em.createQuery(jpql);
        q1.getResultList();
        PreparedQuery pq = getPreparedQueryCache().get(jpql);
        assertNotNull(pq);
        assertEquals(jpql, pq.getIdentifier());
        assertEquals(jpql, pq.getOriginalQuery());
  }
View Full Code Here

 
  public void testOriginalJPQLQueryStringIsSetOnPreparedQuery() {
        String jpql = "select p from Company p";
        OpenJPAQuery<?> q1 = em.createQuery(jpql);
        q1.getResultList();
        PreparedQuery pq = getPreparedQueryCache().get(jpql);
        assertNotNull(pq);
        OpenJPAQuery<?> q2 = em.createQuery(jpql);
        assertEquals(jpql,q2.getQueryString());
  }
View Full Code Here

  public void testOrderByElementsAbsentInProjection() {
      String jpql = "select c.name from Company c ORDER BY c.startYear";
        OpenJPAQuery<?> q1 = em.createQuery(jpql);
        List l1 = q1.getResultList();
       
        PreparedQuery pq = getPreparedQueryCache().get(jpql);
        assertNotNull(pq);
        OpenJPAQuery<?> q2 = em.createQuery(jpql);
        List l2 = q2.getResultList();
       
        assertEquals(l1.size(), l2.size());
View Full Code Here

  void assertLanguage(OpenJPAQuery<?> q, String lang) {
    assertEquals(lang, q.getLanguage());
  }
 
  void assertCached(String id) {
    PreparedQuery cached = getPreparedQueryCache().get(id);
    assertNotNull(getPreparedQueryCache() + ": " + getPreparedQueryCache().getMapView() +
        " does not contain " + id, cached);
  }
View Full Code Here

   
    q1.getResultList();
    assertCached(jpql);
    assertLanguage(q1, JPQLParser.LANG_JPQL);
   
    PreparedQuery cached = getPreparedQueryCache().get(jpql);
    assertEquals(jpql, cached.getIdentifier());
    assertFalse(jpql.equalsIgnoreCase(cached.getTargetQuery()));
  }
View Full Code Here

            // We need
            if (query != null && _convertPositionalParams && JPQLParser.LANG_JPQL.equals(language)) {
                query = query.replaceAll("[\\?]", "\\:_");
            }
            String qid = query;
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(language)
                ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query q = (pq == null || !pq.isInitialized())
                ? _broker.newQuery(language, query)
                : _broker.newQuery(pq.getLanguage(), pq);
            // have to validate JPQL according to spec
            if (pq == null && JPQLParser.LANG_JPQL.equals(language))
                q.compile();
            if (pq != null) {
                pq.setInto(q);
            }
            return newQueryImpl(q).setId(qid);
        } catch (RuntimeException re) {
            throw PersistenceExceptions.toPersistenceException(re);
        }
View Full Code Here

            QueryMetaData meta = _broker.getConfiguration().
                getMetaDataRepositoryInstance().getQueryMetaData(null, name,
                _broker.getClassLoader(), true);
            String qid = meta.getQueryString();
           
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(meta.getLanguage()) ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query del =
                (pq == null || !pq.isInitialized()) ? _broker.newQuery(meta.getLanguage(), meta.getQueryString())
                    : _broker.newQuery(pq.getLanguage(), pq);
           
            if (pq != null) {
                pq.setInto(del);
            } else {
                meta.setInto(del);
                del.compile();
            }
           
View Full Code Here

        Boolean registered = cache.register(_id, _query, fetch);
        boolean alreadyCached = (registered == null);
        String lang = _query.getLanguage();
        QueryStatistics<String> stats = cache.getStatistics();
        if (alreadyCached && LANG_PREPARED_SQL.equals(lang)) {
            PreparedQuery pq = _em.getPreparedQuery(_id);
            if (pq.isInitialized()) {
                try {
                    Map rep = pq.reparametrize(params, _em.getBroker());
                    params.clear();
                    params.putAll(rep);
                } catch (UserException ue) {
                    invalidatePreparedQuery();
                    Log log = _em.getConfiguration().getLog(OpenJPAConfiguration.LOG_RUNTIME);
                    if (log.isWarnEnabled())
                        log.warn(ue.getMessage());
                    return false;
                }
            }
            stats.recordExecution(pq.getOriginalQuery());
        } else {
            stats.recordExecution(getQueryString());
        }
        return registered == Boolean.TRUE;
    }
View Full Code Here

TOP

Related Classes of org.apache.openjpa.kernel.PreparedQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.