Example usage for org.hibernate.criterion DetachedCriteria setResultTransformer

List of usage examples for org.hibernate.criterion DetachedCriteria setResultTransformer

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria setResultTransformer.

Prototype

public DetachedCriteria setResultTransformer(ResultTransformer resultTransformer) 

Source Link

Document

Set the result transformer to use.

Usage

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;
}