List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
From source file:org.codehaus.groovy.grails.orm.hibernate.metaclass.CountByPersistentMethod.java
License:Apache License
@SuppressWarnings({ "unchecked", "rawtypes" }) protected void populateCriteriaWithExpressions(Criteria crit, String operator, List expressions) { if (operator.equals(OPERATOR_OR)) { Disjunction dis = Restrictions.disjunction(); for (GrailsMethodExpression current : (List<GrailsMethodExpression>) expressions) { dis.add(current.getCriterion()); }// w w w . j a v a2s .c om crit.add(dis); } else { for (GrailsMethodExpression current : (List<GrailsMethodExpression>) expressions) { crit.add(current.getCriterion()); } } }
From source file:org.codehaus.groovy.grails.orm.hibernate.metaclass.FindAllByPersistentMethod.java
License:Apache License
@SuppressWarnings("rawtypes") @Override// w w w . j av a 2 s . com protected Object doInvokeInternalWithExpressions(final Class clazz, String methodName, final Object[] arguments, final List expressions, String operatorInUse, final Closure additionalCriteria) { final String operator = OPERATOR_OR.equals(operatorInUse) ? OPERATOR_OR : OPERATOR_AND; return getHibernateTemplate().executeFind(new HibernateCallback<Object>() { public Object doInHibernate(Session session) throws HibernateException, SQLException { final Criteria c = getCriteria(application, session, additionalCriteria, clazz); Map argsMap = (arguments.length > 0 && (arguments[0] instanceof Map)) ? (Map) arguments[0] : Collections.EMPTY_MAP; GrailsHibernateUtil.populateArgumentsForCriteria(application, clazz, c, argsMap); if (operator.equals(OPERATOR_OR)) { Disjunction dis = Restrictions.disjunction(); for (Object expression : expressions) { GrailsMethodExpression current = (GrailsMethodExpression) expression; if (GrailsMethodExpression.FORCE_NO_RESULTS != current.getCriterion()) { dis.add(current.getCriterion()); } } c.add(dis); } else { for (Object expression : expressions) { GrailsMethodExpression current = (GrailsMethodExpression) expression; if (GrailsMethodExpression.FORCE_NO_RESULTS == current.getCriterion()) { return Collections.emptyList(); } c.add(current.getCriterion()); } } c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return c.list(); } }); }
From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriterionAdapter.java
License:Apache License
protected void addJunctionCriterionAdapters() { criterionAdaptors.put(Query.Conjunction.class, new CriterionAdaptor<Query.Conjunction>() { @Override//from w ww. ja v a2 s. c o m public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Conjunction criterion, String alias) { Conjunction conjunction = Restrictions.conjunction(); applySubCriteriaToJunction(hibernateQuery.getEntity(), hibernateQuery, criterion.getCriteria(), conjunction, alias); return conjunction; } }); criterionAdaptors.put(Query.Disjunction.class, new CriterionAdaptor<Query.Disjunction>() { @Override public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Disjunction criterion, String alias) { Disjunction disjunction = Restrictions.disjunction(); applySubCriteriaToJunction(hibernateQuery.getEntity(), hibernateQuery, criterion.getCriteria(), disjunction, alias); return disjunction; } }); criterionAdaptors.put(Query.Negation.class, new CriterionAdaptor<Query.Negation>() { @Override public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Negation criterion, String alias) { CriterionAdaptor<Query.Disjunction> adapter = (CriterionAdaptor<Query.Disjunction>) criterionAdaptors .get(Query.Disjunction.class); return Restrictions.not(adapter.toHibernateCriterion(hibernateQuery, new Query.Disjunction(criterion.getCriteria()), alias)); } }); }
From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateQuery.java
License:Apache License
@Override public Junction disjunction() { final org.hibernate.criterion.Disjunction disjunction = Restrictions.disjunction(); addToCriteria(disjunction);/*w ww . jav a 2 s . c o m*/ return new HibernateJunction(disjunction, alias); }
From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateQuery.java
License:Apache License
@Override public Junction negation() { final org.hibernate.criterion.Disjunction disjunction = Restrictions.disjunction(); addToCriteria(Restrictions.not(disjunction)); return new HibernateJunction(disjunction, alias); }
From source file:org.codehaus.groovy.grails.orm.hibernate.query.HibernateQuery.java
License:Apache License
@Override public Junction disjunction() { final org.hibernate.criterion.Disjunction disjunction = Restrictions.disjunction(); criteria.add(disjunction);/*from www . ja v a 2s .com*/ return new HibernateJunction(disjunction); }
From source file:org.codehaus.groovy.grails.orm.hibernate.query.HibernateQuery.java
License:Apache License
@Override public Junction negation() { final org.hibernate.criterion.Disjunction disjunction = Restrictions.disjunction(); criteria.add(Restrictions.not(disjunction)); return new HibernateJunction(disjunction); }
From source file:org.davidmendoza.irsvped.dao.impl.EventDaoHibernate.java
License:Open Source License
@Transactional(readOnly = true) @Override/*from ww w . j a v a 2s . c o m*/ public Map<String, Object> list(Map<String, Object> params) { log.debug("Event list"); Criteria criteria = currentSession().createCriteria(Event.class); Criteria countCriteria = currentSession().createCriteria(Event.class); if (params.containsKey("filter")) { String filter = (String) params.get("filter"); criteria.createAlias("user", "user_alias"); countCriteria.createAlias("user", "user_alias"); Disjunction properties = Restrictions.disjunction(); properties.add(Restrictions.ilike("code", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("name", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("description", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("street", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("city", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("zip", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("hostName", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("hostPhone", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("hostEmail", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("user_alias.username", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("user_alias.firstName", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("user_alias.lastName", filter, MatchMode.ANYWHERE)); criteria.add(properties); countCriteria.add(properties); } if (params.containsKey("mine")) { String principal = (String) params.get("principal"); Criteria a = criteria.createCriteria("user"); a.add(Restrictions.eq("username", principal)); } if (params.containsKey("max")) { criteria.setMaxResults((Integer) params.get("max")); if (params.containsKey("offset")) { criteria.setFirstResult((Integer) params.get("offset")); } } if (params.containsKey("sort")) { if (((String) params.get("order")).equals("desc")) { criteria.addOrder(Order.desc((String) params.get("sort"))); params.put("order", "asc"); } else { criteria.addOrder(Order.asc((String) params.get("sort"))); params.put("order", "desc"); } } params.put("list", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("totalItems", countCriteria.list().get(0)); return params; }
From source file:org.davidmendoza.irsvped.dao.impl.MessageDaoHibernate.java
License:Open Source License
@Transactional(readOnly = true) @Override//from w w w.java 2 s .co m public Map<String, Object> list(Map<String, Object> params) { log.debug("Message list"); Criteria criteria = currentSession().createCriteria(Message.class); Criteria countCriteria = currentSession().createCriteria(Message.class); if (params.containsKey("filter")) { String filter = (String) params.get("filter"); Disjunction properties = Restrictions.disjunction(); properties.add(Restrictions.ilike("name", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("subject", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("content", filter, MatchMode.ANYWHERE)); criteria.add(properties); countCriteria.add(properties); } if (params.containsKey("max")) { criteria.setMaxResults((Integer) params.get("max")); if (params.containsKey("offset")) { criteria.setFirstResult((Integer) params.get("offset")); } } if (params.containsKey("sort")) { if (((String) params.get("order")).equals("desc")) { criteria.addOrder(Order.desc((String) params.get("sort"))); params.put("order", "asc"); } else { criteria.addOrder(Order.asc((String) params.get("sort"))); params.put("order", "desc"); } } params.put("list", criteria.list()); countCriteria.setProjection(Projections.rowCount()); if (!countCriteria.list().isEmpty()) { params.put("totalItems", countCriteria.list().get(0)); } else { params.put("totalItems", 0L); } return params; }
From source file:org.davidmendoza.irsvped.dao.impl.UserDaoHibernate.java
License:Open Source License
@Transactional(readOnly = true) @Override//from w ww . ja va 2 s . c o m public Map<String, Object> list(Map<String, Object> params) { log.debug("User list"); Criteria criteria = currentSession().createCriteria(User.class); Criteria countCriteria = currentSession().createCriteria(User.class); if (params.containsKey("filter")) { String filter = (String) params.get("filter"); Disjunction properties = Restrictions.disjunction(); properties.add(Restrictions.ilike("username", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("firstName", filter, MatchMode.ANYWHERE)); properties.add(Restrictions.ilike("lastName", filter, MatchMode.ANYWHERE)); criteria.add(properties); countCriteria.add(properties); } if (params.containsKey("max")) { criteria.setMaxResults((Integer) params.get("max")); if (params.containsKey("offset")) { criteria.setFirstResult((Integer) params.get("offset")); } } if (params.containsKey("sort")) { if (((String) params.get("order")).equals("desc")) { criteria.addOrder(Order.desc((String) params.get("sort"))); params.put("order", "asc"); } else { criteria.addOrder(Order.asc((String) params.get("sort"))); params.put("order", "desc"); } } params.put("list", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("totalItems", countCriteria.list().get(0)); return params; }