List of usage examples for org.hibernate.criterion Restrictions or
public static LogicalExpression or(Criterion lhs, Criterion rhs)
From source file:com.lushapp.modules.sys.web.UserController.java
License:Apache License
/** * combogrid/*from www . j a v a2s . co m*/ * * @return * @throws Exception */ @RequestMapping(value = { "combogrid" }) @ResponseBody public Datagrid<User> combogrid(@RequestParam(value = "ids", required = false) List<Long> ids, String loginNameOrName, Integer rows) throws Exception { Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue()); Criterion[] criterions = new Criterion[0]; criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion); Criterion criterion = null; if (Collections3.isNotEmpty(ids)) { //in? Criterion inCriterion = Restrictions.in("id", ids); if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion); criterion = Restrictions.or(inCriterion, criterion1); } else { criterion = inCriterion; } //?? criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } else { if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); criterion = Restrictions.or(loginNameCriterion, nameCriterion); //?? criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } } // Page<User> p = new Page<User>(rows);// p = userManager.findByCriteria(p, criterions); Datagrid<User> dg = new Datagrid<User>(p.getTotalCount(), p.getResult()); return dg; }
From source file:com.mercatis.lighthouse3.persistence.events.hibernate.EventRegistryImplementation.java
License:Apache License
/** * This method generates criteria for a given event template that also * contain an ordering clause on the date of occurrence. * //from www . ja v a 2 s . com * @param session * the Hibernate session to use for criteria generation * @param entityTemplate * the template for which to generate the criteria * @param descending * <code>true</code> if descending order is wanted (the default) * or <code>false</code> for ascending order. * @return */ public Criteria generateOrderingCriteria(Session session, Event entityTemplate, boolean descending) { Criteria criteria = super.entityToCriteria(session, entityTemplate); if (entityTemplate.getContext() != null) { if (!Ranger.isEnumerationRange(entityTemplate.getContext())) criteria.add(Restrictions.eq("context", entityTemplate.getContext())); else criteria.add(Restrictions.in("context", Ranger.castToEnumerationRange(entityTemplate.getContext()).getEnumeration())); } if (entityTemplate.getCode() != null) { if (!Ranger.isEnumerationRange(entityTemplate.getCode())) criteria.add(Restrictions.eq("code", entityTemplate.getCode())); else criteria.add(Restrictions.in("code", Ranger.castToEnumerationRange(entityTemplate.getCode()).getEnumeration())); } if (entityTemplate.getLevel() != null) { if (!Ranger.isEnumerationRange(entityTemplate.getLevel())) criteria.add(Restrictions.eq("level", entityTemplate.getLevel())); else criteria.add(Restrictions.in("level", Ranger.castToEnumerationRange(entityTemplate.getLevel()).getEnumeration())); } if (entityTemplate.getMachineOfOrigin() != null) criteria.add(Restrictions.eq("machineOfOrigin", entityTemplate.getMachineOfOrigin())); if (entityTemplate.getMessage() != null) { criteria.add(Restrictions.ilike("message", "%" + entityTemplate.getMessage() + "%")); } if (entityTemplate.getStackTrace() != null) { if (this.unitOfWork.getSqlDialect() instanceof org.hibernate.dialect.MySQL5InnoDBDialect) criteria.add(Restrictions.sqlRestriction("match ({alias}.STACK_TRACE) against (?)", entityTemplate.getStackTrace(), StringType.INSTANCE)); else criteria.add(Restrictions.ilike("stackTrace", "%" + entityTemplate.getStackTrace() + "%")); } if (entityTemplate.getDateOfOccurrence() != null) { if (!Ranger.isIntervalRange(entityTemplate.getDateOfOccurrence())) { criteria.add(Restrictions.eq("dateOfOccurrence", entityTemplate.getDateOfOccurrence())); } else { Date lowerBound = Ranger.castToIntervalRange(entityTemplate.getDateOfOccurrence()).getLowerBound(); Date upperBound = Ranger.castToIntervalRange(entityTemplate.getDateOfOccurrence()).getUpperBound(); if ((lowerBound == null) && (upperBound != null)) criteria.add(Restrictions.le("dateOfOccurrence", upperBound)); else if ((lowerBound != null) && (upperBound == null)) criteria.add(Restrictions.ge("dateOfOccurrence", lowerBound)); else if ((lowerBound != null) && (upperBound != null)) { criteria.add(Restrictions.le("dateOfOccurrence", upperBound)); criteria.add(Restrictions.ge("dateOfOccurrence", lowerBound)); } } } if (!entityTemplate.getTransactionIds().isEmpty()) { Set<Criterion> transactionRestrictions = new HashSet<Criterion>(); for (String transactionId : entityTemplate.getTransactionIds()) transactionRestrictions.add(Restrictions.sqlRestriction( "exists (select lti.* from EVENT_TRANSACTION_IDS lti where {alias}.EVT_ID = lti.EVT_ID and lti.TRANSACTION_ID = ?)", transactionId, StringType.INSTANCE)); if (transactionRestrictions.size() == 1) { criteria.add(transactionRestrictions.iterator().next()); } else { Iterator<Criterion> restrictions = transactionRestrictions.iterator(); Criterion orCriterion = restrictions.next(); while (restrictions.hasNext()) { orCriterion = Restrictions.or(orCriterion, restrictions.next()); } criteria.add(orCriterion); } } for (String tag : entityTemplate.getTags()) criteria.add(Restrictions.sqlRestriction( "exists (select lt.* from EVENT_TAGS lt where {alias}.EVT_ID = lt.EVT_ID and lt.TAG = ?)", tag, StringType.INSTANCE)); for (String udf : entityTemplate.getUdfs().keySet()) { Object value = entityTemplate.getUdf(udf); if (udf.equals("eventRESTResourceLimitRestriction")) { criteria.setMaxResults((Integer) value); break; } String columnName = ""; Type valueType = StringType.INSTANCE; if (value instanceof Boolean) { columnName = "BOOLEAN_VAL"; valueType = BooleanType.INSTANCE; } if (value instanceof Integer) { columnName = "INTEGER_VAL"; valueType = IntegerType.INSTANCE; } if (value instanceof Long) { columnName = "LONG_VAL"; valueType = LongType.INSTANCE; } if (value instanceof Float) { columnName = "FLOAT_VAL"; valueType = FloatType.INSTANCE; } if (value instanceof Double) { columnName = "DOUBLE_VAL"; valueType = DoubleType.INSTANCE; } if (value instanceof Date) { columnName = "DATE_VAL"; valueType = DateType.INSTANCE; } if (value instanceof byte[]) { columnName = "BINARY_VAL"; valueType = BlobType.INSTANCE; } if (value instanceof String) { columnName = "STRING_VAL"; valueType = StringType.INSTANCE; } criteria.add(Restrictions.sqlRestriction( "exists (select lu.* from EVENT_UDFS lu where {alias}.EVT_ID = lu.EVT_ID and lu.UDF = ? and lu." + columnName + " = ?)", new Object[] { udf, value }, new Type[] { StringType.INSTANCE, valueType })); } if (descending) criteria.addOrder(Order.desc("dateOfOccurrence")); else criteria.addOrder(Order.asc("dateOfOccurrence")); return criteria; }
From source file:com.mycompany.thymeleafspringapp.dao.UsersDAOImpl.java
@Override public Users getUserByName(String username) { Criteria crit = sessionFactory.openSession().createCriteria(Users.class); crit.add(Restrictions.or(Restrictions.eq("email", username), Restrictions.eq("username", username))); crit.setMaxResults(1);/*from w w w . j a v a 2s . c om*/ return (Users) crit.list().get(0); }
From source file:com.ourlife.dev.modules.sys.service.SystemService.java
License:Open Source License
public Page<User> findUser(Page<User> page, User user) { DetachedCriteria dc = userDao.createDetachedCriteria(); User currentUser = UserUtils.getUser(); dc.createAlias("company", "company"); if (user.getCompany() != null && user.getCompany().getId() != null) { dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()), Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%"))); }/*from www. j a v a2 s .c o m*/ dc.createAlias("office", "office"); if (user.getOffice() != null && user.getOffice().getId() != null) { dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()), Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%"))); } // ???? if (!currentUser.isAdmin()) { dc.add(Restrictions.ne("id", 1L)); } dc.add(dataScopeFilter(currentUser, "office", "")); // System.out.println(dataScopeFilterString(currentUser, "office", "")); if (StringUtils.isNotEmpty(user.getLoginName())) { dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%")); } if (StringUtils.isNotEmpty(user.getName())) { dc.add(Restrictions.like("name", "%" + user.getName() + "%")); } dc.add(Restrictions.eq(User.DEL_FLAG, User.DEL_FLAG_NORMAL)); if (!StringUtils.isNotEmpty(page.getOrderBy())) { dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("id")); } return userDao.find(page, dc); }
From source file:com.pmo.pmoitserv.Dao.UtilisateurDao.java
public Utilisateur getUserByLogin_Email(String login, String password) { Utilisateur user = null;// ww w.j a v a 2 s.co m try { this.session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = session.beginTransaction(); Criteria c = session.createCriteria(Utilisateur.class); Criterion email = Restrictions.eq("utilisateurLogin", login); Criterion log = Restrictions.like("utilisateurEmail", login); LogicalExpression orExp = Restrictions.or(email, log); c.add(orExp); c.add(Restrictions.eq("utilisateurPassword", password)); //.add(Restrictions.disjunction().add(Restrictions.eq("utilisateurLogin", login)).add(Restrictions.eq("utilisateurEmail", login))); user = (Utilisateur) c.uniqueResult(); tx.commit(); session.flush(); session.close(); return user; } catch (Exception e) { e.printStackTrace(); session.close(); } return user; }
From source file:com.prueba.spring.dao.impl.EventoDAO.java
@Transactional(readOnly = true) public RespuestaGenerica<List<Evento>> obtenerEventosSinColaborador(int idColaborador) { RespuestaGenerica<List<Evento>> respuesta; try {//from www .jav a 2 s.c o m this.iniciaOperacion(); Criteria criteria = session.createCriteria(Evento.class); criteria.createAlias("colaboradores", "c", JoinType.LEFT_OUTER_JOIN).add(Restrictions .or(Restrictions.ne("c.idColaborador", idColaborador), Restrictions.isNull("c.idColaborador"))); List<Evento> eventos = criteria.list(); respuesta = new RespuestaGenerica<List<Evento>>(eventos); } catch (Exception ex) { Logger.getLogger(EventoDAO.class.getName()).log(Level.SEVERE, null, ex); respuesta = new RespuestaGenerica(ex); } finally { try { session.close(); } catch (Exception ex) { Logger.getLogger(EventoDAO.class.getName()).log(Level.SEVERE, null, ex); } } return respuesta; }
From source file:com.puertobahia.iceberg.dao.impl.ZonaDAOImpl.java
@Override public Zona getById(Long id) { Criteria crit = getSession().createCriteria(Zona.class); crit.add(Restrictions.idEq(id));//www. j ava 2 s .c o m crit.setFetchMode("usuario", FetchMode.JOIN); crit.setFetchMode("usuario.empleado", FetchMode.JOIN); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit.setFetchMode("consejos_comunitario", FetchMode.JOIN); crit.createAlias("consejos_comunitario", "consejo", JoinType.LEFT_OUTER_JOIN); crit.add(Restrictions.or(Restrictions.and(Restrictions.eq("consejo.estado", 0)), Restrictions.isNull("consejo.estado"))); return (Zona) crit.uniqueResult(); /*Criteria crit = getSession().createCriteria(Zona.class); crit.add(Restrictions.idEq(id)); crit.setFetchMode("usuario", FetchMode.JOIN); crit.setFetchMode("usuario.empleado", FetchMode.JOIN); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); Zona zona = (Zona) crit.uniqueResult(); Criteria crit2 = getSession().createCriteria(ConsejoComunitario.class); zona.setConsejos_comunitario(crit2.add(Restrictions.and(Restrictions.idEq(zona.getId()),Restrictions.eq("estado", 0))).list()); return zona;*/ }
From source file:com.quakearts.webapp.hibernate.HibernateBean.java
License:Open Source License
@SuppressWarnings("unchecked") private Criterion handleParameter(String key, Serializable value, QueryContext context) { Criterion criterion;//from w w w .j av a 2s. c om if (key == ParameterMapBuilder.CONJUNCTION && value instanceof Map) { Map<String, Serializable> conjoinedParameters = (Map<String, Serializable>) value; criterion = handleJunction(conjoinedParameters, ParameterMapBuilder.CONJUNCTION, context); } else if (key == ParameterMapBuilder.DISJUNCTION && value instanceof Map) { Map<String, Serializable> disjoinedParameters = (Map<String, Serializable>) value; criterion = handleJunction(disjoinedParameters, ParameterMapBuilder.DISJUNCTION, context); } else if (value instanceof Choice) { Choice choice = (Choice) value; if (choice.getChoices().size() == 0) throw new HibernateException( "Invalid choice list for parameter" + key + ". Choice list must be greater than zero."); if (choice.getChoices().size() == 1) criterion = createCriterion(key, choice.getChoices().get(0), context); else if (choice.getChoices().size() == 2) criterion = Restrictions.or(createCriterion(key, choice.getChoices().get(0), context), createCriterion(key, choice.getChoices().get(1), context)); else { Criterion[] choiceCriteria = new Criterion[choice.getChoices().size()]; for (int i = 0; i < choice.getChoices().size(); i++) { choiceCriteria[i] = createCriterion(key, choice.getChoices().get(i), context); } criterion = Restrictions.or(choiceCriteria); } } else { criterion = createCriterion(key, value, context); } return criterion; }
From source file:com.quix.aia.cn.imo.mapper.AddressBookMaintenance.java
License:Open Source License
/** * <p>/* w ww. j a va2 s .c o m*/ * This method retrieves AddressBook of Particular nric code * <p> * * @param iosAddressCode and agentId * @return AddressBook Class Object * */ public List getAddressBook1(AddressBook addressBook) { Session session = null; Criteria criteria = null; ArrayList<AddressBook> list = null; try { session = HibernateFactory.openSession(); criteria = session.createCriteria(AddressBook.class); criteria.add(Restrictions.eq("name", addressBook.getName())); criteria.add(Restrictions.eq("birthDate", addressBook.getBirthDate())); criteria.add( Restrictions.or(Restrictions.eq("agentId", "" + Integer.parseInt(addressBook.getAgentId())), Restrictions.eq("agentId", addressBook.getAgentId()))); list = (ArrayList) criteria.list(); } catch (Exception ex) { log.log(Level.SEVERE, ex.getMessage()); ex.printStackTrace(); ex.printStackTrace(); LogsMaintenance logsMain = new LogsMaintenance(); StringWriter errors = new StringWriter(); ex.printStackTrace(new PrintWriter(errors)); logsMain.insertLogs("AddressBookMaintenance", Level.SEVERE + "", errors.toString()); } finally { try { HibernateFactory.close(session); } catch (Exception e) { log.log(Level.SEVERE, e.getMessage()); e.printStackTrace(); } session = null; criteria = null; } if (null == list) { list = new ArrayList<AddressBook>(); } return list; }
From source file:com.redhat.rhn.domain.channel.ChannelFamilyFactory.java
License:Open Source License
/** * Lookup a ChannelFamily by its label// w ww. j a v a 2s. c o m * @param label the label to search for * @param org the Org the Family belongs to, use null if looking for * official RedHat ChannelFamilies * @return the ChannelFamily found */ public static ChannelFamily lookupByLabel(String label, Org org) { Session session = getSession(); Criteria c = session.createCriteria(ChannelFamily.class); c.add(Restrictions.eq("label", label)); c.add(Restrictions.or(Restrictions.eq("org", org), Restrictions.isNull("org"))); return (ChannelFamily) c.uniqueResult(); }