List of usage examples for org.hibernate SQLQuery setCacheable
@Override
NativeQuery<T> setCacheable(boolean cacheable);
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java
License:Apache License
private void checkQueryResult(SimpleEntity entity, List expected) { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true); query.setCacheRegion(cacheRegion);// w w w . j a v a2 s. co m query.setParameter("phone", entity.getPhone()); List res = query.list(); Assert.assertEquals(expected, res); session.close(); }
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java
License:Apache License
private List listQueryResult() { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE address = :address"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true); query.setCacheRegion(multiCacheRegion); query.setParameter("address", addressValue); List res = query.list();// w w w.jav a 2s. co m session.close(); return res; }
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteUniqueResultTest.java
License:Apache License
private void checkQueryResult(SimpleEntity entity, Long expected) { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true); query.setCacheRegion(cacheRegion);/*from w w w . j a v a 2 s. c o m*/ query.setParameter("phone", entity.getPhone()); Long res = (Long) query.uniqueResult(); Assert.assertEquals(expected, res); session.close(); }
From source file:com.mysema.query.jpa.hibernate.sql.AbstractHibernateSQLQuery.java
License:Apache License
private Query createQuery(String queryString) { logQuery(queryString);//w w w.j a v a 2s .com org.hibernate.SQLQuery query = session.createSQLQuery(queryString); // set constants HibernateUtil.setConstants(query, constants, queryMixin.getMetadata().getParams()); // set entity paths for (Path<?> path : entityPaths) { query.addEntity(path.toString(), path.getType()); } // set result transformer, if projection is an EConstructor instance List<? extends Expression<?>> projection = queryMixin.getMetadata().getProjection(); if (projection.size() == 1 && projection.get(0) instanceof FactoryExpression) { query.setResultTransformer(new FactoryExpressionTransformer((FactoryExpression<?>) projection.get(0))); } if (fetchSize > 0) { query.setFetchSize(fetchSize); } if (timeout > 0) { query.setTimeout(timeout); } if (cacheable != null) { query.setCacheable(cacheable); } if (cacheRegion != null) { query.setCacheRegion(cacheRegion); } if (readOnly != null) { query.setReadOnly(readOnly); } return query; }
From source file:com.openkm.dao.NodeDocumentDAO.java
License:Open Source License
/** * Search nodes by category/*w w w .j av a2s .c o m*/ */ @SuppressWarnings("unchecked") public List<NodeDocument> findByCategory(String catUuid) throws PathNotFoundException, DatabaseException { log.debug("findByCategory({})", catUuid); final String qs = "from NodeDocument nd where :category in elements(nd.categories) order by nd.name"; final String sql = "select NBS_UUID from OKM_NODE_CATEGORY, OKM_NODE_DOCUMENT " + "where NCT_CATEGORY = :catUuid and NCT_NODE = NBS_UUID"; List<NodeDocument> ret = new ArrayList<NodeDocument>(); Session session = null; Transaction tx = null; try { long begin = System.currentTimeMillis(); session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); // Security Check NodeBase catNode = (NodeBase) session.load(NodeBase.class, catUuid); SecurityHelper.checkRead(catNode); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_DOCUMENTS_BY_CATEGORY); q.setString("catUuid", catUuid); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeDocument nDoc = (NodeDocument) session.load(NodeDocument.class, uuid); ret.add(nDoc); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("category", catUuid); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); SystemProfiling.log(catUuid, System.currentTimeMillis() - begin); log.trace("findByCategory.Time: {}", System.currentTimeMillis() - begin); log.debug("findByCategory: {}", ret); return ret; } catch (PathNotFoundException e) { HibernateUtil.rollback(tx); throw e; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }
From source file:com.openkm.dao.NodeDocumentDAO.java
License:Open Source License
/** * Search nodes by keyword// w w w . j av a 2s . c o m */ @SuppressWarnings("unchecked") public List<NodeDocument> findByKeyword(String keyword) throws DatabaseException { log.debug("findByKeyword({})", keyword); final String qs = "from NodeDocument nd where :keyword in elements(nd.keywords) order by nd.name"; final String sql = "select NBS_UUID from OKM_NODE_KEYWORD, OKM_NODE_DOCUMENT " + "where NKW_KEYWORD = :keyword and NKW_NODE = NBS_UUID"; List<NodeDocument> ret = new ArrayList<NodeDocument>(); Session session = null; Transaction tx = null; try { long begin = System.currentTimeMillis(); session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_DOCUMENTS_BY_KEYWORD); q.setString("keyword", keyword); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeDocument nDoc = (NodeDocument) session.load(NodeDocument.class, uuid); ret.add(nDoc); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("keyword", keyword); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); SystemProfiling.log(keyword, System.currentTimeMillis() - begin); log.trace("findByKeyword.Time: {}", System.currentTimeMillis() - begin); log.debug("findByKeyword: {}", ret); return ret; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }
From source file:com.openkm.dao.NodeFolderDAO.java
License:Open Source License
/** * Search nodes by category//from w ww.j a v a 2 s.c o m */ @SuppressWarnings("unchecked") public List<NodeFolder> findByCategory(String catUuid) throws PathNotFoundException, DatabaseException { log.debug("findByCategory({})", catUuid); long begin = System.currentTimeMillis(); final String qs = "from NodeFolder nf where :category in elements(nf.categories) order by nf.name"; final String sql = "select NBS_UUID from OKM_NODE_CATEGORY, OKM_NODE_FOLDER " + "where NCT_CATEGORY = :catUuid and NCT_NODE = NBS_UUID"; List<NodeFolder> ret = new ArrayList<NodeFolder>(); Session session = null; Transaction tx = null; try { session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); // Security Check NodeBase catNode = (NodeBase) session.load(NodeBase.class, catUuid); SecurityHelper.checkRead(catNode); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_FOLDERS_BY_CATEGORY); q.setString("catUuid", catUuid); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeFolder nFld = (NodeFolder) session.load(NodeFolder.class, uuid); ret.add(nFld); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("category", catUuid); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); SystemProfiling.log(catUuid, System.currentTimeMillis() - begin); log.trace("findByCategory.Time: {}", System.currentTimeMillis() - begin); log.debug("findByCategory: {}", ret); return ret; } catch (PathNotFoundException e) { HibernateUtil.rollback(tx); throw e; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }
From source file:com.openkm.dao.NodeFolderDAO.java
License:Open Source License
/** * Search nodes by keyword//from w w w. j a v a 2 s . c o m */ @SuppressWarnings("unchecked") public List<NodeFolder> findByKeyword(String keyword) throws DatabaseException { log.debug("findByKeyword({})", keyword); final String qs = "from NodeFolder nf where :keyword in elements(nf.keywords) order by nf.name"; final String sql = "select NBS_UUID from OKM_NODE_KEYWORD, OKM_NODE_FOLDER " + "where NKW_KEYWORD = :keyword and NKW_NODE = NBS_UUID"; List<NodeFolder> ret = new ArrayList<NodeFolder>(); Session session = null; Transaction tx = null; try { session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_FOLDERS_BY_KEYWORD); q.setString("keyword", keyword); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeFolder nFld = (NodeFolder) session.load(NodeFolder.class, uuid); ret.add(nFld); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("keyword", keyword); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); log.debug("findByKeyword: {}", ret); return ret; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }
From source file:com.openkm.dao.NodeMailDAO.java
License:Open Source License
/** * Search nodes by category/*from ww w .j a v a 2 s. c om*/ */ @SuppressWarnings("unchecked") public List<NodeMail> findByCategory(String catUuid) throws PathNotFoundException, DatabaseException { log.debug("findByCategory({})", catUuid); long begin = System.currentTimeMillis(); final String qs = "from NodeMail nm where :category in elements(nm.categories) order by nm.name"; final String sql = "select NBS_UUID from OKM_NODE_CATEGORY, OKM_NODE_MAIL " + "where NCT_CATEGORY = :catUuid and NCT_NODE = NBS_UUID"; List<NodeMail> ret = new ArrayList<NodeMail>(); Session session = null; Transaction tx = null; try { session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); // Security Check NodeBase catNode = (NodeBase) session.load(NodeBase.class, catUuid); SecurityHelper.checkRead(catNode); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_MAILS_BY_CATEGORY); q.setString("catUuid", catUuid); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeMail nMail = (NodeMail) session.load(NodeMail.class, uuid); ret.add(nMail); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("category", catUuid); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); SystemProfiling.log(catUuid, System.currentTimeMillis() - begin); log.trace("findByCategory.Time: {}", System.currentTimeMillis() - begin); log.debug("findByCategory: {}", ret); return ret; } catch (PathNotFoundException e) { HibernateUtil.rollback(tx); throw e; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }
From source file:com.openkm.dao.NodeMailDAO.java
License:Open Source License
/** * Search nodes by keyword//from w w w . j a v a 2 s. c o m */ @SuppressWarnings("unchecked") public List<NodeMail> findByKeyword(String keyword) throws DatabaseException { log.debug("findByKeyword({})", keyword); final String qs = "from NodeMail nm where :keyword in elements(nm.keywords) order by nm.name"; final String sql = "select NBS_UUID from OKM_NODE_KEYWORD, OKM_NODE_MAIL " + "where NKW_KEYWORD = :keyword and NKW_NODE = NBS_UUID"; List<NodeMail> ret = new ArrayList<NodeMail>(); Session session = null; Transaction tx = null; try { session = HibernateUtil.getSessionFactory().openSession(); tx = session.beginTransaction(); if (Config.NATIVE_SQL_OPTIMIZATIONS) { SQLQuery q = session.createSQLQuery(sql); q.setCacheable(true); q.setCacheRegion(CACHE_MAILS_BY_KEYWORD); q.setString("keyword", keyword); q.addScalar("NBS_UUID", StandardBasicTypes.STRING); for (String uuid : (List<String>) q.list()) { NodeMail nMail = (NodeMail) session.load(NodeMail.class, uuid); ret.add(nMail); } } else { Query q = session.createQuery(qs).setCacheable(true); q.setString("keyword", keyword); ret = q.list(); } // Security Check SecurityHelper.pruneNodeList(ret); initialize(ret); HibernateUtil.commit(tx); log.debug("findByKeyword: {}", ret); return ret; } catch (DatabaseException e) { HibernateUtil.rollback(tx); throw e; } catch (HibernateException e) { HibernateUtil.rollback(tx); throw new DatabaseException(e.getMessage(), e); } finally { HibernateUtil.close(session); } }