List of usage examples for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN
int LEFT_OUTER_JOIN
To view the source code for org.hibernate.sql JoinFragment LEFT_OUTER_JOIN.
Click Source Link
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(); } }); }