List of usage examples for org.hibernate Criteria createAlias
@Deprecated public Criteria createAlias(String associationPath, String alias, int joinType) throws HibernateException;
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
public List<CustomField> getBinaryCustomFieldsForPedigreeRelativesList(Long studyId) { List<CustomField> pedigreeCustomFields = null; Criteria criteria = getSession().createCriteria(CustomField.class, "cf"); criteria.createAlias("study", "st", JoinType.INNER_JOIN); criteria.createAlias("arkFunction", "af", JoinType.INNER_JOIN); criteria.createAlias("customFieldType", "cft", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("fieldType", "ft", JoinType.INNER_JOIN); criteria.add(Restrictions.eq("st.id", studyId)); criteria.add(//from w w w . ja v a 2 s.c o m Restrictions.eq("af.name", au.org.theark.core.Constants.FUNCTION_KEY_VALUE_SUBJECT_CUSTOM_FIELD)); criteria.add(Restrictions.eq("cf.encodedValues", "0=Yes;1=No;").ignoreCase()); criteria.add(Restrictions.or(Restrictions.isNull("cft.id"), Restrictions.eq("cft.name", au.org.theark.core.Constants.SUBJECT))); pedigreeCustomFields = criteria.list(); return pedigreeCustomFields; }
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
@Override public List<CustomField> getFamilyUIdCustomFieldsForPedigreeRelativesList(Long studyId) { List<CustomField> pedigreeCustomFields = null; Criteria criteria = getSession().createCriteria(CustomField.class, "cf"); criteria.createAlias("study", "st", JoinType.INNER_JOIN); criteria.createAlias("arkFunction", "af", JoinType.INNER_JOIN); criteria.createAlias("fieldType", "ft", JoinType.INNER_JOIN); criteria.createAlias("customFieldType", "cft", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("st.id", studyId)); criteria.add(/*from w w w .ja v a2 s . c o m*/ Restrictions.eq("af.name", au.org.theark.core.Constants.FUNCTION_KEY_VALUE_SUBJECT_CUSTOM_FIELD)); criteria.add(Restrictions.isNull("cf.encodedValues")); criteria.add(Restrictions.eq("ft.name", au.org.theark.core.Constants.FIELD_TYPE_CHARACTER)); criteria.add(Restrictions.or(Restrictions.isNull("cft.id"), Restrictions.eq("cft.name", au.org.theark.core.Constants.SUBJECT))); pedigreeCustomFields = criteria.list(); return pedigreeCustomFields; }
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
public StudyPedigreeConfiguration getStudyPedigreeConfiguration(Long studyId) { StudyPedigreeConfiguration pedigreeConfig = null; Criteria criteria = getSession().createCriteria(StudyPedigreeConfiguration.class, "spc"); criteria.createAlias("study", "st", JoinType.INNER_JOIN); criteria.setFetchMode("customField", FetchMode.JOIN); criteria.add(Restrictions.eq("st.id", studyId)); List<StudyPedigreeConfiguration> list = criteria.list(); pedigreeConfig = list.size() == 1 ? list.get(0) : new StudyPedigreeConfiguration(); return pedigreeConfig; }
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
public List<CustomField> getStudySubjectCustomFieldList(Long studyId) { List<CustomField> list = new ArrayList<CustomField>(); Criteria criteria = getSession().createCriteria(CustomField.class); criteria.createAlias("study", "st", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("customFieldType", "cft", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("st.id", studyId)); criteria.add(Restrictions.eq("cft.name", au.org.theark.core.Constants.SUBJECT)); list = criteria.list();/*from w w w . j a va 2s .c o m*/ return list; }
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
public List<CustomField> getSelectedCalendarCustomFieldList(StudyCalendar studyCalendar) { List<CustomField> list = new ArrayList<CustomField>(); Criteria criteria = getSession().createCriteria(CustomField.class); criteria.createAlias("linkCalendarCustomField", "lccf", JoinType.INNER_JOIN); criteria.createAlias("linkCalendarCustomField.studyCalendar", "sc", JoinType.INNER_JOIN); criteria.add(Restrictions.eq("sc.id", studyCalendar.getId())); list = criteria.list();//from w w w .j av a2s . c o m return list; }
From source file:br.com.webbudget.domain.model.repository.financial.MovementRepository.java
License:Open Source License
/** * * @param filter/* ww w. java2s .c om*/ * @param pageRequest * @return */ @Override public Page<Movement> listByFilter(MovementFilter filter, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); final List<Criterion> criterions = new ArrayList<>(); criteria.createAlias("contact", "co", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("apportionments", "ap"); criteria.createAlias("ap.movementClass", "mc"); criteria.createAlias("ap.costCenter", "cc"); criteria.createAlias("financialPeriod", "fp"); // montramos os criterios de filtragem geral if (filter.hasCriteria()) { criterions.add(Restrictions.eq("code", filter.getCriteria())); criterions.add(Restrictions.ilike("description", "%" + filter.getCriteria() + "%")); criterions.add(Restrictions.ilike("mc.name", "%" + filter.getCriteria() + "%")); criterions.add(Restrictions.ilike("cc.name", "%" + filter.getCriteria() + "%")); criterions.add(Restrictions.ilike("co.name", "%" + filter.getCriteria() + "%")); // se conseguir castar para bigdecimal trata como um filtro try { criterions.add(Restrictions.eq("value", filter.criteriaToBigDecimal())); } catch (ParseException ex) { } } criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {}))); criteria.add(Restrictions.and(filter.getCustomFilters())); // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); // aplica o multisort dos campos if (pageRequest.isMultiSort()) { pageRequest.getMultiSortFields().stream().forEach(field -> { if (field.getDirection() == SortDirection.ASC) { criteria.addOrder(Order.asc(field.getSortField())); } else if (field.getDirection() == SortDirection.DESC) { criteria.addOrder(Order.desc(field.getSortField())); } }); } else if (pageRequest.getSortDirection() == SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.gov.jfrj.siga.dp.dao.CpDao.java
License:Open Source License
public List<CpModelo> listarModelosOrdenarPorNome(String script) throws Exception { final Criteria crit = getSessao().createCriteria(CpModelo.class); crit.add(Property.forName("hisDtFim").isNull()); crit.createAlias("cpOrgaoUsuario", "o", Criteria.LEFT_JOIN); crit.addOrder(Order.desc("o.siglaOrgaoUsu")); List<CpModelo> l = new ArrayList<CpModelo>(); for (CpModelo mod : (List<CpModelo>) crit.list()) if (script != null && script.trim().length() != 0) { if (mod.getConteudoBlobString() != null && mod.getConteudoBlobString().contains(script)) l.add(mod);//from w w w . j a v a 2 s . c o m } else l.add(mod); return l; }
From source file:com.abiquo.server.core.appslibrary.VirtualMachineTemplateDAO.java
License:Open Source License
/** * If (finished) conversions check some compatible. Left join to {@link VirtualImageConversion} *//*from ww w . ja v a 2 s . c o m*/ private Criterion compatibleConversions(final Collection<DiskFormatType> types, final Criteria criteria) { criteria.createAlias(VirtualMachineTemplate.CONVERSIONS_PROPERTY, "conversions", JoinFragment.LEFT_OUTER_JOIN); Criterion finished = Restrictions.eq("conversions." + VirtualImageConversion.STATE_PROPERTY, ConversionState.FINISHED); Criterion compatible = Restrictions.in("conversions." + VirtualImageConversion.TARGET_TYPE_PROPERTY, types); return Restrictions.and(finished, compatible); }
From source file:com.abssh.util.GenericDao.java
License:Apache License
@SuppressWarnings("unchecked") public Page<T> findPageDynamicFetch(final Page<T> page, final List<PropertyFilter> filters, final String... lazyObjects) { Criteria criteria = getSession().createCriteria(entityClass); Map<String, Criteria> criteriaMap = new HashMap<String, Criteria>(); for (PropertyFilter filter : filters) { if (!MatchType.INS.equals(filter.getMatchType())) { if (!filter.isMultiProperty()) { String propertyName = filter.getPropertyName(); Object[] propertyValue = filter.getPropertyValue(); MatchType matchType = filter.getMatchType(); Criteria parent = findParentCriteria(criteria, propertyName, criteriaMap); String[] tmp = StringUtils.split(propertyName, DEF_SEPARATOR); parent.add(getCriterion(tmp[tmp.length - 1], propertyValue, matchType)); } else { Disjunction disjunction = Restrictions.disjunction(); Object[] propertyValue = filter.getPropertyValue(); MatchType matchType = filter.getMatchType(); String[] propertyNames = filter.getPropertyNames(); for (String propertyName : propertyNames) { // Criteria parent = findParentCriteria(criteria, // propertyName, criteriaMap); String[] tmp = StringUtils.split(propertyName, DEF_SEPARATOR); // parent.add(getCriterion(tmp[tmp.length - 1], // propertyValue, matchType)); for (int i = 0; i <= tmp.length - 2; i++) { criteria.createAlias(tmp[i], tmp[i], CriteriaSpecification.LEFT_JOIN); }//from w w w . j a va 2s .c o m // disjunction.ad } criteria.add(Restrictions.or( Restrictions.like(propertyNames[0], propertyValue[0].toString(), MatchMode.ANYWHERE), Restrictions.like(propertyNames[1], propertyValue[0].toString(), MatchMode.ANYWHERE))); // criteria.add(disjunction); } } else { criteria.add(org.hibernate.criterion.Expression.sql("this_." + filter.getPropertyName() + " in " + String.valueOf(filter.getPropertyValue()[0]))); } } if (lazyObjects != null) { for (int i = 0; i < lazyObjects.length; i++) { criteria.setFetchMode(lazyObjects[i], FetchMode.EAGER); } } if (page != null && page.isAutoCount()) { int totalCount = countCriteriaResult(criteria); page.setTotalCount(totalCount); } if (page != null && page.getPageSize() > 0) { if (page.getTotalPages() < page.getPageNo()) { page.setPageNo(1L); } criteria.setFirstResult(page.getFirst() - 1); criteria.setMaxResults(page.getPageSize()); } if (page != null && page.isOrderBySetted()) { String[] orderByArray = StringUtils.split(page.getOrderBy(), ','); String[] orderArray = StringUtils.split(page.getOrder(), ','); Assert.isTrue(orderByArray.length == orderArray.length, "orderBy and order is not suited!"); for (int i = 0; i < orderByArray.length; i++) { if (orderByArray[i].indexOf(".") > 0) { // ??? if (Page.ASC.equals(orderArray[i])) { Criteria p = criteriaMap .get(orderByArray[i].substring(0, orderByArray[i].lastIndexOf("."))); if (p == null) { p = findParentCriteria(criteria, orderByArray[i], criteriaMap);// ?? } p.addOrder(Order.asc(orderByArray[i].substring(orderByArray[i].lastIndexOf(".") + 1))); } else { Criteria p = criteriaMap .get(orderByArray[i].substring(0, orderByArray[i].lastIndexOf("."))); if (p == null) { p = findParentCriteria(criteria, orderByArray[i], criteriaMap);// ?? } p.addOrder(Order.desc(orderByArray[i].substring(orderByArray[i].lastIndexOf(".") + 1))); } } else { if (Page.ASC.equals(orderArray[i])) { criteria.addOrder(Order.asc(orderByArray[i])); } else { criteria.addOrder(Order.desc(orderByArray[i])); } } } } List result = criteria.list(); if (page == null) { Page p = new Page<T>(); p.setResult(result); p.setTotalCount(result.size()); p.setPageNo(1L); p.setPageSize(result.size()); return p; } page.setResult(result); return page; }
From source file:com.abssh.util.GenericDao.java
License:Apache License
/** * [findPageWithOR] ?/*from www.j a va 2 s .co m*/ * * @new date 2012-04-23 * @param criteria * @param propertyName * @param criteriaMap */ private void createSubCriteria(Criteria criteria, String propertyName, Map<String, Criteria> criteriaMap) { if (propertyName.indexOf(DEF_SEPARATOR) > 0) { String parentName = propertyName.substring(0, propertyName.indexOf(DEF_SEPARATOR)); propertyName = propertyName.substring(propertyName.indexOf(DEF_SEPARATOR) + 1); Criteria sub = null; if (!criteriaMap.containsKey(parentName)) { sub = criteria.createAlias(parentName, parentName, CriteriaSpecification.LEFT_JOIN); criteriaMap.put(parentName, sub); } else { sub = criteriaMap.get(parentName); } createSubCriteria(sub, propertyName, criteriaMap); } }