List of usage examples for org.hibernate Criteria setFetchMode
public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException;
From source file:com.griffinslogistics.db.helpers.DeliveriesHelper.java
@Override public List<Delivery> getAllDeliveries() { logger.log(Level.SEVERE, "{0}: getAllDeliveries started", CLASS_NAME); this.session = HibernateUtil.getSessionFactory().openSession(); List<Delivery> result = new ArrayList<Delivery>(); Transaction transaction = this.session.beginTransaction(); try {//from w w w . j a v a2 s . c om Criteria criteria = this.session.createCriteria(Delivery.class); result = (List<Delivery>) criteria // .setFetchMode("attachments", FetchMode.JOIN) .setFetchMode("deliverydirection", FetchMode.JOIN).list(); transaction.commit(); } catch (HibernateException e) { transaction.rollback(); DeliveriesHelper.logger.log(Level.SEVERE, e.getMessage()); } finally { this.session.close(); logger.log(Level.SEVERE, "{0}: getAllDeliveries finished", CLASS_NAME); } Collections.reverse(result); return result; }
From source file:com.heliosapm.aa4h.parser.XMLQueryParser.java
License:Apache License
/** * Initializes a Criteria Query.// w w w .j a va2s. c o m * Mandatory Attributes:<ul> * <li><b>name</b>: The unqualified class name driving the criteria query.</li> * </ul> * Optional Attributes:<ul> * <li><b>prefix</b>: The package name of the class driving the criteria query. If null, no package is assumed.</li> * <li><b>maxSize</b>: The maximum number of rows to return from the database.</li> * <li><b>fetchSize</b>: The number of rows to fetch when rows are requested. Usually not useful for AA4H.</li> * <li><b>cacheEnabled</b>: Enables or disables caching for the queried objects.</li> * <li><b>cacheMode</b>: The cache options for the queried objects.</li> * <li><b>flushMode</b>: The session flush options.</li> * <li><b>fetchMode</b>: The collection fetch options for the query.</li> * <li><b>lockMode</b>: The row lock options for the queried rows.</li> * <li><b>timeOut</b>: The query timeout option.</li> * <li><b>rowCountOnly</b>: Returns a count of the query rows only.</li> * </ul> * @param attrs The attributes of the processed node. * @return An appended or new CriteriaSpecification * @throws SAXException */ protected CriteriaSpecification processCriteria(Attributes attrs) throws SAXException { if (inDetached) { return criteriaStack.peek(); } String name = attrs.getValue("name"); String prefix = attrs.getValue("prefix"); if (prefix != null) { className = prefix + "." + name; } else { className = name; } String maxSize = attrs.getValue("maxSize"); String fetchSize = attrs.getValue("fetchSize"); String firstResult = attrs.getValue("firstResult"); String cacheEnabled = attrs.getValue("cacheEnabled"); String cacheMode = attrs.getValue("cacheMode"); String flushMode = attrs.getValue("flushMode"); String fetchMode = attrs.getValue("fetchMode"); String lockMode = attrs.getValue("lockMode"); String timeOut = attrs.getValue("timeOut"); String rowCountOnly = attrs.getValue("rowCountOnly"); Criteria newCriteria = null; try { if (criteriaStack.size() == 0) { newCriteria = session.createCriteria(className); } else { newCriteria = ((Criteria) criteriaStack.peek()).createCriteria(className); } criteriaStack.push(newCriteria); if ("true".equalsIgnoreCase(rowCountOnly)) { newCriteria.setProjection(Projections.projectionList().add(Projections.rowCount()) ); setRowCountOnly(true); } if (maxSize != null && isRowCountOnly() == false) { newCriteria.setMaxResults(Integer.parseInt(maxSize)); } if (fetchSize != null && isRowCountOnly() == false) { newCriteria.setFetchSize(Integer.parseInt(fetchSize)); } if (firstResult != null && isRowCountOnly() == false) { newCriteria.setFirstResult(Integer.parseInt(firstResult)); } if (timeOut != null) { newCriteria.setTimeout(Integer.parseInt(timeOut)); } if ("true".equalsIgnoreCase(cacheEnabled)) { newCriteria.setCacheable(true); } else if ("false".equalsIgnoreCase(cacheEnabled)) { newCriteria.setCacheable(false); } if (fetchMode != null && fetchMode.length() > 0) { if ("JOIN".equalsIgnoreCase(fetchMode)) { newCriteria.setFetchMode(name, FetchMode.JOIN); } else if ("SELECT".equalsIgnoreCase(fetchMode)) { newCriteria.setFetchMode(name, FetchMode.SELECT); } else { newCriteria.setFetchMode(name, FetchMode.DEFAULT); } } else { newCriteria.setFetchMode(name, FetchMode.DEFAULT); } if (cacheMode != null && cacheMode.length() > 0) { if ("GET".equalsIgnoreCase(cacheMode)) { newCriteria.setCacheMode(CacheMode.GET); } else if ("IGNORE".equalsIgnoreCase(cacheMode)) { newCriteria.setCacheMode(CacheMode.IGNORE); } else if ("NORMAL".equalsIgnoreCase(cacheMode)) { newCriteria.setCacheMode(CacheMode.NORMAL); } else if ("PUT".equalsIgnoreCase(cacheMode)) { newCriteria.setCacheMode(CacheMode.PUT); } else if ("REFRESH".equalsIgnoreCase(cacheMode)) { newCriteria.setCacheMode(CacheMode.REFRESH); } else { newCriteria.setCacheMode(CacheMode.NORMAL); } } if (lockMode != null && lockMode.length() > 0) { if ("NONE".equalsIgnoreCase(lockMode)) { newCriteria.setLockMode(LockMode.NONE); } else if ("READ".equalsIgnoreCase(lockMode)) { newCriteria.setLockMode(LockMode.READ); } else if ("UPGRADE".equalsIgnoreCase(lockMode)) { newCriteria.setLockMode(LockMode.UPGRADE); } else if ("UPGRADE_NOWAIT".equalsIgnoreCase(lockMode)) { newCriteria.setLockMode(LockMode.UPGRADE_NOWAIT); } else if ("WRITE".equalsIgnoreCase(lockMode)) { newCriteria.setLockMode(LockMode.WRITE); } else { throw new SAXException("lockMode[" + lockMode + "] Not Recognized"); } } if (flushMode != null && flushMode.length() > 0) { if ("ALWAYS".equalsIgnoreCase(flushMode)) { newCriteria.setFlushMode(FlushMode.ALWAYS); } else if ("AUTO".equalsIgnoreCase(flushMode)) { newCriteria.setFlushMode(FlushMode.AUTO); } else if ("COMMIT".equalsIgnoreCase(flushMode)) { newCriteria.setFlushMode(FlushMode.COMMIT); } else if ("NEVER".equalsIgnoreCase(flushMode)) { // NEVER is deprecated, so we won't throw an exception but we'll ignore it. } else { throw new SAXException("flushMode[" + flushMode + "] Not Recognized"); } } return newCriteria; } catch (Exception e) { throw new SAXException("Unable to configure class " + className, e); } }
From source file:com.hypersocket.local.LocalUserRepositoryImpl.java
License:Open Source License
@Override @Transactional(readOnly = true)// w ww . j a v a 2 s.c o m public List<?> getUsers(final Realm realm, final String searchPattern, final int start, final int length, final ColumnSort[] sorting) { return search(LocalUser.class, "name", searchPattern, start, length, sorting, new CriteriaConfiguration() { @Override public void configure(Criteria criteria) { criteria.add(Restrictions.eq("realm", realm)); criteria.add(Restrictions.eq("deleted", false)); criteria.add(Restrictions.eq("hidden", false)); criteria.setFetchMode("groups", FetchMode.SELECT); criteria.setFetchMode("roles", FetchMode.SELECT); criteria.setFetchMode("properties", FetchMode.SELECT); } }); }
From source file:com.hypersocket.local.LocalUserRepositoryImpl.java
License:Open Source License
@Override @Transactional(readOnly = true)//from ww w . ja va 2 s. c o m public List<?> getGroups(final Realm realm, final String searchPattern, final int start, final int length, final ColumnSort[] sorting) { return search(LocalGroup.class, "name", searchPattern, start, length, sorting, new CriteriaConfiguration() { @Override public void configure(Criteria criteria) { criteria.add(Restrictions.eq("realm", realm)); criteria.add(Restrictions.eq("deleted", false)); criteria.add(Restrictions.eq("hidden", false)); criteria.setFetchMode("users", FetchMode.SELECT); criteria.setFetchMode("roles", FetchMode.SELECT); criteria.setFetchMode("properties", FetchMode.SELECT); } }); }
From source file:com.hypersocket.network.NetworkResourceRepositoryImpl.java
License:Open Source License
@Override public List<NetworkResource> search(Realm realm, String searchPattern, int start, int length, ColumnSort[] sorting, CriteriaConfiguration... configs) { return super.search(realm, searchPattern, start, length, sorting, new CriteriaConfiguration() { @Override// w w w . j a v a 2 s . c o m public void configure(Criteria criteria) { criteria.setFetchMode("protocols", FetchMode.SELECT); } }); }
From source file:com.hypersocket.permissions.PermissionRepositoryImpl.java
License:Open Source License
@Override @Transactional(readOnly = true)/* ww w . j a v a2 s .com*/ public List<Role> searchRoles(final Realm realm, String searchPattern, int start, int length, ColumnSort[] sorting) { return search(Role.class, "name", searchPattern, start, length, sorting, new CriteriaConfiguration() { @Override public void configure(Criteria criteria) { criteria.add(Restrictions.eq("personalRole", false)); criteria.add(Restrictions.eq("hidden", false)); criteria.setFetchMode("permissions", FetchMode.SELECT); criteria.setFetchMode("principals", FetchMode.SELECT); criteria.setFetchMode("resources", FetchMode.SELECT); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.add(Restrictions.eq("realm", realm)); } }); }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w .j a v a2s . c o m*/ public List<T> getResources(Realm realm) { Criteria crit = createCriteria(getResourceClass()); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit.setFetchMode("roles", FetchMode.SELECT); crit.add(Restrictions.eq("deleted", false)); crit.add(Restrictions.eq("realm", realm)); return (List<T>) crit.list(); }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public List<T> allResources() { Criteria crit = createCriteria(getResourceClass()); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit.setFetchMode("roles", FetchMode.SELECT); crit.add(Restrictions.eq("deleted", false)); return (List<T>) crit.list(); }
From source file:com.indicator_engine.dao.GLACategoryDaoImpl.java
License:Open Source License
/** * Loads all the Category Items from Database.. * @param colName Column Name to be used for sorting the results before it returns. * @param sortDirection Specifies the Sort Direction : asc or desc * @param sort Turn Sorting On or Off.//from w w w .j ava 2 s . c o m * @return Returns all the Category Items present in DB. */ @Override @Transactional(readOnly = true) public List<GLACategory> loadAll(String colName, String sortDirection, boolean sort) { Session session = factory.getCurrentSession(); Criteria criteria = session.createCriteria(GLACategory.class); criteria.setFetchMode("events", FetchMode.JOIN); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (sort) { if (sortDirection.equals("asc")) criteria.addOrder(Order.asc(colName)); else criteria.addOrder(Order.desc(colName)); } return criteria.list(); }
From source file:com.indicator_engine.dao.GLACategoryDaoImpl.java
License:Open Source License
/** * Searches Category Items based on a Minor Value. * @param searchParameter Minor Value used for Searching. * @param exactSearch Search Type : Exact or Likewise. * @param colName Column Name used for Sorting the Results. * @param sortDirection Sorting Direction : Ascending/Descending. * @param sort Turn Sorting ON/OFF.//from ww w. j a va 2s . c o m * @return Returns list of Matching GLACategory Items. */ @Override @Transactional(readOnly = true) public List<GLACategory> searchCategoryByMinor(String searchParameter, boolean exactSearch, String colName, String sortDirection, boolean sort) { if (!exactSearch) searchParameter = "%" + searchParameter + "%"; Session session = factory.getCurrentSession(); Criteria criteria = session.createCriteria(GLACategory.class); criteria.setFetchMode("events", FetchMode.JOIN); if (!exactSearch) criteria.add(Restrictions.ilike("minor", searchParameter)); else criteria.add(Restrictions.eq("minor", searchParameter)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (sort) { if (sortDirection.equals("asc")) criteria.addOrder(Order.asc(colName)); else criteria.addOrder(Order.desc(colName)); } return criteria.list(); }