Example usage for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN

List of usage examples for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN

Introduction

In this page you can find the example usage for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN.

Prototype

int LEFT_OUTER_JOIN

To view the source code for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN.

Click Source Link

Document

Specifies a left join.

Usage

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}
 */// w  w w.jav a  2 s .c om
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:uk.ac.ox.oucs.vle.CourseDAOImpl.java

License:Educational Community License

@SuppressWarnings("unchecked")
public List<CourseGroupDAO> findCourseGroupBySubUnit(final String subunitId, final Range range, final Date now,
        final boolean external) {
    return getHibernateTemplate().executeFind(new HibernateCallback() {
        // Need the DISTINCT ROOT ENTITY filter.
        public Object doInHibernate(Session session) throws HibernateException, SQLException {

            Date startLastYear = getPreviousYearBeginning(LocalDate.now()).toDate();
            Criteria criteria = session.createCriteria(CourseGroupDAO.class);
            criteria.add(Restrictions.eq("subunit", subunitId));
            criteria.add(Restrictions.ne("visibility", "PR"));
            if (external) {
                criteria.add(Restrictions.ne("visibility", "RS"));
            }/* w w w  .  j  ava 2 s . c o m*/
            criteria.add(Restrictions.eq("hideGroup", false));
            switch (range) {
            case UPCOMING:
                criteria = criteria.createCriteria("components", JoinFragment.LEFT_OUTER_JOIN)
                        .add(Expression.or(Expression.gt("baseDate", now), Expression
                                .and(Expression.isNull("baseDate"), Expression.isNotNull("startsText"))));
                break;
            case PREVIOUS:
                criteria = criteria.createCriteria("components", JoinFragment.LEFT_OUTER_JOIN)
                        .add(Expression.or(
                                Expression.and(Expression.le("baseDate", now),
                                        Expression.gt("baseDate", startLastYear)),
                                Expression.and(Expression.isNull("baseDate"),
                                        Expression.isNull("startsText"))));
                break;
            }
            criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
            criteria.addOrder(Order.asc("title"));
            return criteria.list();
        }

    });
}

From source file:uk.ac.ox.oucs.vle.CourseDAOImpl.java

License:Educational Community License

@SuppressWarnings("unchecked")
public List<CourseGroupDAO> findCourseGroupByWords(final String[] words, final Range range, final Date date,
        final boolean external) {

    return getHibernateTemplate().executeFind(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {

            Date startLastYear = getPreviousYearBeginning(LocalDate.now()).toDate();
            Criteria criteria = session.createCriteria(CourseGroupDAO.class);
            for (String word : words) {
                criteria.add(Expression.ilike("title", word, MatchMode.ANYWHERE));
            }/*from   w w  w .ja  va2 s. c  o  m*/
            criteria.add(Expression.ne("visibility", "PR"));
            if (external) {
                criteria.add(Expression.ne("visibility", "RS"));
            }
            criteria.add(Expression.eq("hideGroup", false));

            switch (range) {
            case UPCOMING:
                criteria = criteria.createCriteria("components", JoinFragment.LEFT_OUTER_JOIN)
                        .add(Expression.or(Expression.gt("baseDate", date), Expression
                                .and(Expression.isNull("baseDate"), Expression.isNotNull("startsText"))));
                break;
            case PREVIOUS:
                criteria = criteria.createCriteria("components", JoinFragment.LEFT_OUTER_JOIN)
                        .add(Expression.or(
                                Expression.and(Expression.le("baseDate", date),
                                        Expression.gt("baseDate", startLastYear)),
                                Expression.and(Expression.isNull("baseDate"),
                                        Expression.isNull("startsText"))));
                break;
            }
            criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
            return criteria.list();
        }

    });

}