Example usage for org.hibernate.criterion DetachedCriteria createAlias

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

Introduction

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

Prototype

@Deprecated
public DetachedCriteria createAlias(String associationPath, String alias, int joinType) 

Source Link

Document

Deprecated!

Usage

From source file:org.infoscoop.dao.StaticTabDAO.java

License:Open Source License

/**
 * Get all static tabs with commandBar and portalHeader. 
 * @return/*from w  w  w  .j ava  2 s.  co  m*/
 */
public List getAllStaicLayoutList() {
    DetachedCriteria c = DetachedCriteria.forClass(StaticTab.class);
    c.add(Expression.eq(StaticTab.PROP_DELETEFLAG, StaticTab.DELETEFLAG_FALSE));

    c.createAlias(TabAdmin.REF, "ta", CriteriaSpecification.LEFT_JOIN);
    c.addOrder(Order.asc(StaticTab.PROP_TABNUMBER));

    return super.getHibernateTemplate().findByCriteria(c);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadEntryRepositoryImpl.java

License:Open Source License

@Deprecated
@Override/* w w w.j  a  v  a2 s . co  m*/
public List<ThreadEntry> findAllThreadEntriesTaggedWith(Thread owner, String[] names) {
    List<ThreadEntry> res = null;

    for (String name : names) {
        DetachedCriteria criteria = DetachedCriteria.forClass(ThreadEntry.class);
        criteria.add(Restrictions.eq("entryOwner", owner));
        criteria.createAlias("tagAssociations", "ta", Criteria.LEFT_JOIN);
        criteria.createAlias("ta.tag", "t", Criteria.LEFT_JOIN);
        criteria.add(Restrictions.eq("t.name", name));
        if (res == null)
            res = findByCriteria(criteria);
        else
            res.retainAll(findByCriteria(criteria));
    }
    return res;
}

From source file:pula.sys.daos.impl.CourseClientDaoImpl.java

private DetachedCriteria makeDetachedCriteria(CourseClientCondition condition) {
    DetachedCriteria dc = super.makeDetachedCriteria(condition);

    dc.createAlias("uu.branch", "b", DetachedCriteria.LEFT_JOIN);
    dc.createAlias("uu.classroom", "clr", DetachedCriteria.LEFT_JOIN);
    dc.createAlias("uu.applier", "app", DetachedCriteria.LEFT_JOIN);

    HibernateTool.eqIfNotZero(dc, "status", condition.getStatus());
    HibernateTool.eqIfNotZero(dc, "id", condition.getId());

    HibernateTool.eqIfNotZero(dc, "b.id", condition.getBranchId());
    HibernateTool.eqIfNotZero(dc, "clr.id", condition.getClassroomId());

    HibernateTool.likeIfNotEmpty(dc, "uu.machineNo", condition.getMachineNo());

    String dateField = "uu.applyTime";
    if (condition.isForApply()) {
        dateField = "uu.createdTime";
    }/*from w w  w .j  a  v a  2 s . c o m*/
    HibernateTool.betweenIfNotNull(dc, dateField, condition.getBeginDate(), condition.getEndDate(), -1);

    return dc;
}

From source file:ro.cs.om.model.dao.impl.DaoDepartmentImpl.java

License:Open Source License

/**
* Searches for Departments after criterion from searchOrganisationBean.
* 
* @author alu/*from w  w  w  . j  a  va  2  s  .c  o  m*/
* @author dan.damian
*/
public List<Department> getFromSearch(SearchDepartmentBean searchDepartmentBean, boolean isDeleteAction)
        throws ParseException {
    logger.debug("getFromSearch - START");
    /*Once a Projection is being set to a Detached Criteria object, it cannot be removed anymore, so two identical DetachedCriteria objects 
    must be created: 
    -dcCount ( on which the projection is being set )used to retrieve the number of distinct results which is set when 
    the request didn't come from the pagination area and needed further more to set the current page after a delete action; 
    -dc used to retrieve the result set after the current page has been set in case of a delete action
    */

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.departmentAllEntity);
    DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.departmentAllEntity);

    dc.createAlias("manager", "manager", Criteria.LEFT_JOIN);
    dcCount.createAlias("manager", "manager", Criteria.LEFT_JOIN);

    if (Tools.getInstance().stringNotEmpty(searchDepartmentBean.getName())) {
        dc.add(Restrictions.ilike("name", "%".concat(searchDepartmentBean.getName()).concat("%")));
        dcCount.add(Restrictions.ilike("name", "%".concat(searchDepartmentBean.getName()).concat("%")));
        logger.debug("name: " + searchDepartmentBean.getName());
    }

    if (searchDepartmentBean.getOrganisationId() != -1) {
        dc.add(Restrictions.eq("organisation.organisationId", searchDepartmentBean.getOrganisationId()));
        dcCount.add(Restrictions.eq("organisation.organisationId", searchDepartmentBean.getOrganisationId()));
        logger.debug("Organisation Id: " + searchDepartmentBean.getOrganisationId());
    }

    if (searchDepartmentBean.getManagerFirstName() != null
            && !"".equals(searchDepartmentBean.getManagerFirstName())) {
        dc.add(Restrictions.eq("manager.firstName", searchDepartmentBean.getManagerFirstName()));
        dcCount.add(Restrictions.eq("manager.firstName", searchDepartmentBean.getManagerFirstName()));
        logger.debug("Manager first name: ".concat(searchDepartmentBean.getManagerFirstName()));
    }

    if (searchDepartmentBean.getManagerLastName() != null
            && !"".equals(searchDepartmentBean.getManagerLastName())) {
        dc.add(Restrictions.eq("manager.lastName", searchDepartmentBean.getManagerLastName()));
        dcCount.add(Restrictions.eq("manager.lastName", searchDepartmentBean.getManagerLastName()));
        logger.debug("Manager last name: ".concat(searchDepartmentBean.getManagerLastName()));
    }

    if (Tools.getInstance().stringNotEmpty(searchDepartmentBean.getParentDepartmentName())) {
        dc.createCriteria("parentDepartment").add(Restrictions.ilike("name",
                "%".concat(searchDepartmentBean.getParentDepartmentName()).concat("%")));
        dcCount.createCriteria("parentDepartment").add(Restrictions.ilike("name",
                "%".concat(searchDepartmentBean.getParentDepartmentName()).concat("%")));
        logger.debug("Parent Department Name: " + searchDepartmentBean.getParentDepartmentName());
    }

    if (searchDepartmentBean.getParentDepartmentId() != -1) {
        dc.add(Restrictions.eq("parentDepartment.departmentId", searchDepartmentBean.getParentDepartmentId()));
        dcCount.add(
                Restrictions.eq("parentDepartment.departmentId", searchDepartmentBean.getParentDepartmentId()));
        logger.debug("Parent Department Id: " + searchDepartmentBean.getParentDepartmentId());
    }

    dc.add(Restrictions.eq("status", IConstant.NOM_DEPARTMENT_ACTIVE));
    dcCount.add(Restrictions.eq("status", IConstant.NOM_DEPARTMENT_ACTIVE));

    // check if I have to order the results
    if (searchDepartmentBean.getSortParam() != null && !"".equals(searchDepartmentBean.getSortParam())) {
        // if I have to, check if I have to order them ascending or descending
        if (searchDepartmentBean.getSortDirection() == -1) {
            // ascending
            dc.addOrder(Order.asc(searchDepartmentBean.getSortParam()));
        } else {
            // descending
            dc.addOrder(Order.desc(searchDepartmentBean.getSortParam()));
        }
    }

    // if the request didn't come from the pagination area, 
    // it means that I have to set the number of result and pages
    if (isDeleteAction || searchDepartmentBean.getNbrOfResults() == -1) {
        boolean isSearch = false;
        if (searchDepartmentBean.getNbrOfResults() == -1) {
            isSearch = true;
        }
        // set the countDistinct restriction
        dcCount.setProjection(Projections.distinct(Projections.countDistinct("departmentId")));

        int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue();
        searchDepartmentBean.setNbrOfResults(nbrOfResults);
        logger.debug("NbrOfResults " + searchDepartmentBean.getNbrOfResults());
        logger.debug("----> searchOrganisationBean.getResults " + searchDepartmentBean.getResultsPerPage());
        // get the number of pages
        if (nbrOfResults % searchDepartmentBean.getResultsPerPage() == 0) {
            searchDepartmentBean.setNbrOfPages(nbrOfResults / searchDepartmentBean.getResultsPerPage());
        } else {
            searchDepartmentBean.setNbrOfPages(nbrOfResults / searchDepartmentBean.getResultsPerPage() + 1);
        }
        // after a department is deleted, the same page has to be displayed;
        //only when all the departments from last page are deleted, the previous page will be shown 
        if (isDeleteAction && (searchDepartmentBean.getCurrentPage() > searchDepartmentBean.getNbrOfPages())) {
            searchDepartmentBean.setCurrentPage(searchDepartmentBean.getNbrOfPages());
        } else if (isSearch) {
            searchDepartmentBean.setCurrentPage(1);
        }
    }

    List<Department> res = getHibernateTemplate().findByCriteria(dc,
            (searchDepartmentBean.getCurrentPage() - 1) * searchDepartmentBean.getResultsPerPage(),
            searchDepartmentBean.getResultsPerPage());

    logger.debug("Res " + res.size());
    logger.debug("getFromSearch - END - results size : ".concat(String.valueOf(res.size())));
    return res;

}

From source file:ubc.pavlab.aspiredb.server.dao.CriteriaBuilder.java

License:Apache License

/**
 * @param subquery (side effects)/*from  www  . ja va  2 s. com*/
 * @param target
 */
private static void addCharacteristicAlias(DetachedCriteria subquery, EntityType target) {
    if (target == EntityType.SUBJECT) {
        subquery.createAlias("variants", "variant").createAlias("variant.characteristics", "characteristic",
                CriteriaSpecification.LEFT_JOIN);
    } else {
        subquery.createAlias("characteristics", "characteristic", CriteriaSpecification.LEFT_JOIN);
    }
}

From source file:ubc.pavlab.aspiredb.server.dao.CriteriaBuilder.java

License:Apache License

private static void addLabelAlias(DetachedCriteria subquery, EntityType target) {
    if (target == EntityType.SUBJECT) {
        subquery.createAlias("variants", "variant", CriteriaSpecification.LEFT_JOIN)
                .createAlias("variant.labels", "variant_label", CriteriaSpecification.LEFT_JOIN)
                .createAlias("labels", "subject_label", CriteriaSpecification.LEFT_JOIN);
    } else {/* w w  w. ja v  a  2 s  .c  o  m*/
        subquery.createAlias("subject", "subject")
                .createAlias("subject.labels", "subject_label", CriteriaSpecification.LEFT_JOIN)
                .createAlias("labels", "variant_label", CriteriaSpecification.LEFT_JOIN);
    }
}