List of usage examples for org.hibernate.criterion DetachedCriteria createAlias
@Deprecated public DetachedCriteria createAlias(String associationPath, String alias, int joinType)
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); } }