List of usage examples for org.hibernate.criterion DetachedCriteria setResultTransformer
public DetachedCriteria setResultTransformer(ResultTransformer resultTransformer)
From source file:org.eulerframework.web.core.base.dao.impl.hibernate5.BaseDao.java
License:Apache License
@Override public List<T> queryByEntity(T entity) { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(this.entityClass); detachedCriteria.add(Example.create(entity)); detachedCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<T> result = this.query(detachedCriteria); evict(result);/*from www. ja v a 2s. com*/ return result; }
From source file:org.eulerframework.web.core.base.dao.impl.hibernate5.BaseDao.java
License:Apache License
@SuppressWarnings("unchecked") protected PageResponse<T> pageQuery(DetachedCriteria detachedCriteria, int pageIndex, int pageSize, Projection projection) {/*from w ww.j ava 2s .c om*/ detachedCriteria.setProjection(Projections.rowCount()); long total = ((Long) detachedCriteria.getExecutableCriteria(this.getSessionFactory().getCurrentSession()) .list().get(0)).longValue(); detachedCriteria.setProjection(projection); if (projection != null) detachedCriteria.setResultTransformer(Transformers.aliasToBean(this.entityClass)); Criteria criteria = detachedCriteria.getExecutableCriteria(this.getSessionFactory().getCurrentSession()); criteria.setFirstResult((pageIndex - 1) * pageSize); criteria.setMaxResults(pageSize); List<T> result = criteria.list(); evict(result); return new PageResponse<>(result, total, pageIndex, pageSize); }
From source file:org.faster.orm.service.hibernate.HibernateDaoSupport.java
License:Open Source License
/** * ????//from w w w . ja v a2 s .co m */ protected void renderCriteria(DetachedCriteria criteria) { if (isDistinctRootEntity()) { criteria.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); } }
From source file:org.ikasan.security.dao.HibernateSecurityDao.java
License:BSD License
@SuppressWarnings("unchecked") @Override/*w w w . j a va 2 s . co m*/ public List<IkasanPrincipal> getPrincipalsByRoleNames(List<String> names) { DetachedCriteria criteria = DetachedCriteria.forClass(IkasanPrincipal.class); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.createCriteria("roles").add(Restrictions.in("name", names)); return (List<IkasanPrincipal>) this.getHibernateTemplate().findByCriteria(criteria); }
From source file:org.ikasan.topology.dao.HibernateTopologyDao.java
License:BSD License
@SuppressWarnings("unchecked") @Override// w w w .jav a 2 s . c o m public List<Flow> getFlowsByServerIdAndModuleId(Long serverId, Long moduleId) { DetachedCriteria criteria = DetachedCriteria.forClass(Flow.class); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (serverId != null && moduleId != null) { criteria.createCriteria("module").add(Restrictions.eq("id", moduleId)).createCriteria("server") .add(Restrictions.eq("id", serverId)); } else if (moduleId != null) { criteria.createCriteria("module").add(Restrictions.eq("id", moduleId)); } else if (serverId != null) { criteria.createCriteria("module").createCriteria("server").add(Restrictions.eq("id", serverId)); } return (List<Flow>) this.getHibernateTemplate().findByCriteria(criteria); }
From source file:org.ikasan.topology.dao.HibernateTopologyDao.java
License:BSD License
@Override public Flow getFlowsByServerIdModuleIdAndFlowname(Long serverId, Long moduleId, String flowName) { DetachedCriteria criteria = DetachedCriteria.forClass(Flow.class); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (serverId != null && moduleId != null) { criteria.createCriteria("module").add(Restrictions.eq("id", moduleId)).createCriteria("server") .add(Restrictions.eq("id", serverId)); } else if (moduleId != null) { criteria.createCriteria("module").add(Restrictions.eq("id", moduleId)); } else if (serverId != null) { criteria.createCriteria("module").createCriteria("server").add(Restrictions.eq("id", serverId)); }/*from w ww . ja v a2s .c o m*/ if (flowName != null) { criteria.add(Restrictions.eq("name", flowName)); } return (Flow) DataAccessUtils.uniqueResult(this.getHibernateTemplate().findByCriteria(criteria)); }
From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.GridCQLToDetachedCriteria.java
License:Open Source License
public DetachedCriteria translate(CQLQuery query) throws TranslationException { //Do a little housekeeping and make sure everything is in order if (query.getTarget() == null) { throw new TranslationException("Target of the CQLQuery cannot be null, please specify a Target."); }/* ww w .j av a2 s. c o m*/ Object target = query.getTarget(); String targetClassName = target.getName(); DetachedCriteria crit = DetachedCriteria.forEntityName(targetClassName); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); //Conjunction all the properties Conjunction con = Restrictions.conjunction(); //Process Attribute Attribute attribute = target.getAttribute(); if (attribute != null) { con.add(processAttribute(attribute, crit.getAlias())); } //Process Association Association association = target.getAssociation(); if (association != null) { con.add(processAssociation(association, crit.getAlias(), crit, targetClassName)); } //Process Group Group group = target.getGroup(); if (group != null) { crit.add(processGroup(group, crit.getAlias(), crit, targetClassName)); } crit.add(con); QueryModifier modifiers = query.getQueryModifier(); crit = handleQueryOptions(crit, modifiers); return crit; }
From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.NestedObjectToCriteria.java
License:Open Source License
public DetachedCriteria translate(Class searchClass, List searchObjectList, String eagerFetchAssociation) throws TranslationException { DetachedCriteria crit = DetachedCriteria.forClass(searchClass); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (eagerFetchAssociation != null) { crit.setFetchMode(eagerFetchAssociation, FetchMode.JOIN); }//from www . ja v a 2 s .c om //Apply the List of Associated Objects (OR'ed) Disjunction disjunction = Restrictions.disjunction(); for (Object searchObject : searchObjectList) { Criterion criterion = translator.buildCriterionFromNestedObjects(searchObject, crit); disjunction.add(criterion); } crit.add(disjunction); return crit; }
From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.QBEPathToDetachedCriteria.java
License:Open Source License
public DetachedCriteria translate(String path, List searchObjectList) throws TranslationException { List<String> pathList = new ArrayList<String>(); StringTokenizer tokens = new StringTokenizer(path, ","); while (tokens.hasMoreTokens()) { pathList.add(tokens.nextToken().trim()); }// w ww .java2 s. c om String rootClass = pathList.remove(0); DetachedCriteria dCrit = DetachedCriteria.forEntityName(rootClass); dCrit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); //Set the Association Path String alias = dCrit.getAlias(); for (String pathElement : pathList) { String roleName = LexEVSTranslatorsUtil.getRoleName(rootClass, pathElement); dCrit.createAlias(alias + "." + roleName, roleName); rootClass = pathElement; alias = roleName; } //Apply the List of Associated Objects (OR'ed) Disjunction disjunction = Restrictions.disjunction(); for (Object searchObject : searchObjectList) { Criterion crit = translator.buildCriterionFromNestedObjects(searchObject, alias, dCrit); disjunction.add(crit); } dCrit.add(disjunction); return dCrit; }
From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.SDKCQLToDetachedCriteria.java
License:Open Source License
public DetachedCriteria translate(CQLQuery query) throws TranslationException { CQLObject target = query.getTarget(); String targetClassName = target.getName(); DetachedCriteria crit = DetachedCriteria.forEntityName(targetClassName); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); //Conjunction all the properties Conjunction con = Restrictions.conjunction(); //Process Attribute CQLAttribute attribute = target.getAttribute(); if (attribute != null) { con.add(processAttribute(attribute, crit.getAlias())); }/* w w w . jav a2s . c o m*/ //Process Association CQLAssociation association = target.getAssociation(); if (association != null) { con.add(processAssociation(association, crit.getAlias(), crit, targetClassName)); } //Process Group CQLGroup group = target.getGroup(); if (group != null) { crit.add(processGroup(group, crit.getAlias(), crit, targetClassName)); } crit.add(con); return crit; }