Example usage for org.hibernate.criterion CriteriaSpecification LEFT_JOIN

List of usage examples for org.hibernate.criterion CriteriaSpecification LEFT_JOIN

Introduction

In this page you can find the example usage for org.hibernate.criterion CriteriaSpecification LEFT_JOIN.

Prototype

int LEFT_JOIN

To view the source code for org.hibernate.criterion CriteriaSpecification LEFT_JOIN.

Click Source Link

Document

Specifies joining to an entity based on a left outer join.

Usage

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