List of usage examples for org.hibernate.criterion CriteriaSpecification INNER_JOIN
int INNER_JOIN
To view the source code for org.hibernate.criterion CriteriaSpecification INNER_JOIN.
Click Source Link
From source file:id.co.sambaltomat.core.dao.hibernate.GenericDaoHibernate.java
private void constuctCriteria(SearchCriteria searchCriteria, Criteria criteria, boolean withOrder) { if (searchCriteria.getCriterionList() != null) { for (Criterion criterion : searchCriteria.getCriterionList()) { criteria.add(criterion);/* ww w . j a va2 s . co m*/ } } if (withOrder && searchCriteria.getOrderList() != null) { for (Order order : searchCriteria.getOrderList()) { criteria.addOrder(order); } } if (searchCriteria.getSubSearchCriteriaList() != null) { for (SearchCriteria subSearchCriteria : searchCriteria.getSubSearchCriteriaList()) { Criteria subCriteria = null; if (subSearchCriteria.getJoinType() == CriteriaSpecification.INNER_JOIN) { subCriteria = criteria.createCriteria(subSearchCriteria.getEntityName()); } else { subCriteria = criteria.createCriteria(subSearchCriteria.getEntityName(), subSearchCriteria.getJoinType()); } constuctCriteria(subSearchCriteria, subCriteria, withOrder); } } }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Criteria prepareCriteria(Session session, LinkedList<Criterion> criterionList, Map<String, String> aliases, Paging paging, boolean isOr, boolean isLeft) { Criteria criteria = session.createCriteria(clazz); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (aliases != null && !aliases.isEmpty()) { for (Map.Entry<String, String> alias : aliases.entrySet()) { criteria.createAlias(alias.getKey(), alias.getValue(), isLeft ? CriteriaSpecification.LEFT_JOIN : CriteriaSpecification.INNER_JOIN); }//from w w w.j a v a 2 s. c o m } if (criterionList != null) { Criterion left = null; for (Criterion criterion : criterionList) { left = criterionList.getFirst() == criterion ? criterion : isOr ? Restrictions.or(left, criterion) : Restrictions.and(left, criterion); } if (left != null) criteria.add(left); } if (paging != null) { if (paging.getLimit() != null && paging.getLimit() > -1) { criteria.setMaxResults(paging.getLimit()); } if (paging.getOffset() != null && paging.getOffset() > -1) { criteria.setFirstResult(paging.getOffset()); } if (paging.getSortFields() != null) { for (SortField sortField : paging.getSortFields()) { if (sortField.getSortDirection().equals(SortOrder.ASC)) { criteria.addOrder(Order.asc(sortField.getSortColumn())); } else { criteria.addOrder(Order.desc(sortField.getSortColumn())); } } } } return criteria; }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Integer searchCount(final LinkedList<Criterion> criterions, final Map<String, String> aliases, final boolean isOr, final boolean isLeft) { return getHibernateTemplate().execute(new HibernateCallback<Integer>() { @Override//from www. j av a2s. c o m public Integer doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(clazz); if (aliases != null && !aliases.isEmpty()) { for (Map.Entry<String, String> alias : aliases.entrySet()) { criteria.createAlias(alias.getKey(), alias.getValue(), isLeft ? CriteriaSpecification.LEFT_JOIN : CriteriaSpecification.INNER_JOIN); } } if (criterions != null) { Criterion left = null; for (Criterion criterion : criterions) { left = criterions.getFirst() == criterion ? criterion : isOr ? Restrictions.or(left, criterion) : Restrictions.and(left, criterion); } if (left != null) criteria.add(left); } return ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue(); } }); }
From source file:to.etc.domui.hibernate.model.CriteriaCreatingVisitor.java
License:Open Source License
/** * * @param rootAlias The current alias which starts off this last segment, or "" if we start from root object. * @param fullpath The root object absolute path, i.e. the input up to the current level including the relation property * @param relativepath The relative path from the rootAlias. * @param pmm// ww w .jav a2s. co m * @return */ private String getPathAlias(String rootAlias, String fullpath, String relativepath, PropertyMetaModel<?> pmm) { String alias = m_aliasMap.get(fullpath); // Path is already known? if (null != alias) return alias; //-- This is new... Create the alias and refer it off the previous root alias, String nextAlias = nextAlias(); String aliasedPath = relativepath; if (rootAlias.length() > 0) aliasedPath = rootAlias + "." + relativepath; m_aliasMap.put(fullpath, nextAlias); //-- We need to create this join. int joinType = pmm.isRequired() ? CriteriaSpecification.INNER_JOIN : CriteriaSpecification.LEFT_JOIN; if (m_currentCriteria instanceof Criteria) { ((Criteria) m_currentCriteria).createAlias(aliasedPath, nextAlias, joinType); // Crapfest } else if (m_currentCriteria instanceof DetachedCriteria) { ((DetachedCriteria) m_currentCriteria).createAlias(aliasedPath, nextAlias, joinType); } else throw new IllegalStateException("Unexpected current thing: " + m_currentCriteria); return nextAlias; }