List of usage examples for org.hibernate.criterion CriteriaSpecification LEFT_JOIN
int LEFT_JOIN
To view the source code for org.hibernate.criterion CriteriaSpecification LEFT_JOIN.
Click Source Link
From source file:ubc.pavlab.aspiredb.server.dao.CriteriaBuilder.java
License:Apache License
/** * @param subquery (side effects)/*from w ww.j av a 2 s.c o m*/ * @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 {//from ww w. j a v a2s. c o m subquery.createAlias("subject", "subject") .createAlias("subject.labels", "subject_label", CriteriaSpecification.LEFT_JOIN) .createAlias("labels", "variant_label", CriteriaSpecification.LEFT_JOIN); } }
From source file:ubc.pavlab.aspiredb.server.dao.SubjectDaoImpl.java
License:Apache License
private void addSingleFilter(AspireDbFilterConfig filter, Criteria criteria) throws BioMartServiceException, NeurocartaServiceException { if (filter.getClass() == VariantFilterConfig.class) { VariantFilterConfig locationFilter = (VariantFilterConfig) filter; RestrictionExpression restriction = locationFilter.getRestriction(); addSingleVariantFilter(restriction, criteria); } else if (filter.getClass() == SubjectFilterConfig.class) { SubjectFilterConfig subjectFilter = (SubjectFilterConfig) filter; RestrictionExpression restrictionExpression = subjectFilter.getRestriction(); Criterion criterion = CriteriaBuilder.buildCriteriaRestriction(restrictionExpression, CriteriaBuilder.EntityType.SUBJECT); criteria.createAlias("labels", "subject_label", CriteriaSpecification.LEFT_JOIN); criteria.add(criterion);/*w w w . j a va 2 s . co m*/ } else if (filter.getClass() == ProjectFilterConfig.class) { ProjectFilterConfig projectFilter = (ProjectFilterConfig) filter; criteria.createAlias("project", "project") .add(Restrictions.in("project.id", projectFilter.getProjectIds())); } }
From source file:ubc.pavlab.aspiredb.server.dao.SubjectDaoImpl.java
License:Apache License
private void addSingleVariantFilter(RestrictionExpression restrictionExpression, Criteria criteria) { criteria.createAlias("variants", "variant").createAlias("variant.location", "location") .createAlias("variant.characteristics", "characteristic", CriteriaSpecification.LEFT_JOIN); Criterion junction = CriteriaBuilder.buildCriteriaRestriction(restrictionExpression, CriteriaBuilder.EntityType.SUBJECT); criteria.add(junction);/*from ww w . j a v a 2s. c o m*/ }
From source file:ubc.pavlab.aspiredb.server.dao.VariantDaoBaseImpl.java
License:Apache License
private void addSingleFilter(AspireDbFilterConfig filter, Criteria criteria) { if (filter.getClass() == VariantFilterConfig.class) { VariantFilterConfig locationFilter = (VariantFilterConfig) filter; RestrictionExpression restriction = locationFilter.getRestriction(); addSingleVariantFilter(restriction, criteria); } else if (filter.getClass() == SubjectFilterConfig.class) { SubjectFilterConfig subjectFilter = (SubjectFilterConfig) filter; RestrictionExpression restrictionExpression = subjectFilter.getRestriction(); Criterion criterion = CriteriaBuilder.buildCriteriaRestriction(restrictionExpression, CriteriaBuilder.EntityType.VARIANT); criteria.createAlias("subject", "subject").createAlias("subject.labels", "subject_label", CriteriaSpecification.LEFT_JOIN); criteria.add(criterion);// w w w . ja va 2s. co m } }
From source file:uk.ac.ox.oucs.vle.CourseDAOImpl.java
License:Educational Community License
public List<Map> findComponentSignups(final String componentId, final Set<Status> statuses, final Integer year) { // This is an optimisation for exports. It orders by component then return getHibernateTemplate().execute(new HibernateCallback<List<Map>>() { public List<Map> doInHibernate(Session session) throws HibernateException, SQLException { Criteria find = session.createCriteria(CourseComponentDAO.class) .createAlias("signups", "signup", CriteriaSpecification.LEFT_JOIN) .createAlias("signups.group", "group", CriteriaSpecification.LEFT_JOIN) .addOrder(Order.desc("presentationId")).addOrder(Order.desc("group.id")) .addOrder(Order.desc("signup.id")) .setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP); // If componentId is null then return all. if (componentId != null && !"all".equals(componentId)) { find.add(Restrictions.eq("presentationId", componentId)); }//from ww w .j a v a2s.c om if (null != statuses && !statuses.isEmpty()) { find.add(Restrictions.in("signup.status", statuses)); } if (null != year) { LocalDate startYear = FIRST_DAY_OF_ACADEMIC_YEAR.toLocalDate(year); LocalDate endYear = FIRST_DAY_OF_ACADEMIC_YEAR.toLocalDate(year + 1); find.add(Restrictions.between("starts", startYear.toDate(), endYear.toDate())); } Object result = find.list(); return (List<Map>) result; } }); }