List of usage examples for org.hibernate.criterion Projections property
public static PropertyProjection property(String propertyName)
From source file:com.sccl.attech.modules.sys.service.DictService.java
License:Open Source License
public Page<Dict> find(Page<Dict> page, Dict dict) { // MyBatis /* w w w . j av a 2s .c o m*/ // dict.setPage(page); // page.setList(myBatisDictDao.find(dict)); // return page; // Hibernate DetachedCriteria dc = dictDao.createDetachedCriteria(); dc.setProjection(Projections.distinct(Projections.property("type"))); if (StringUtils.isNotEmpty(dict.getLabel())) { dc.add(Restrictions.like("label", "%" + dict.getLabel() + "%")); } if (StringUtils.isNotEmpty(dict.getType())) { dc.add(Restrictions.eq("type", dict.getType())); } System.out.println(dict.getType()); if (StringUtils.isNotEmpty(dict.getDescription())) { dc.add(Restrictions.like("description", "%" + dict.getDescription() + "%")); } // if(StringUtils.isNotEmpty(dict.getParentId())){ // dc.add(Restrictions.sqlRestriction("parent_id = '"+dict.getParentId()+"'")); // dc.add(Restrictions.like("parentIds", "%"+dict.getParentId()+"%"));//? // } // dc.add(Restrictions.sqlRestriction("parent_ids is not null")); dc.add(Restrictions.sqlRestriction("del_flag=0")); dc.add(Restrictions.eq(Dict.FIELD_DEL_FLAG, Dict.DEL_FLAG_NORMAL)); dc.setResultTransformer(dc.DISTINCT_ROOT_ENTITY); return dictDao.find(page, dc); }
From source file:com.scopix.periscope.securitymanagement.dao.UserLoginHibernateDAOImpl.java
License:Open Source License
@Override public List<String> getUserPrivileges(PeriscopeUser periscopeUser) { List<String> privileges = null; List<Integer> rgIds = new ArrayList<Integer>(); for (RolesGroup rolesGroup : periscopeUser.getRolesGroups()) { rgIds.add(rolesGroup.getId());// w w w.ja v a 2 s .c o m } Criteria criteria = this.getSession().createCriteria(Role.class) .setProjection(Projections.property("roleName")); Criteria rg = criteria.createCriteria("rolesGroups"); rg.add(Restrictions.in("id", rgIds)); privileges = criteria.list(); return privileges; }
From source file:com.segundo.piso.daos.impl.DAOReportImpl.java
@Override @Transactional/*w w w .j av a 2 s .co m*/ public List<ReporteAlumno> getStudentsByExpiredMovement(int clasesRestantes) { System.out.println(sessionFactory); StringBuilder restriction = new StringBuilder(); restriction.append("date_add(movimiento1_.fecha_inicio, interval 31 day) > curdate() ").append( "and date_add(movimiento1_.fecha_inicio, interval 31 day) < date_add(current_date(), interval 10 day)") .append("and movimiento1_.id_movimiento = asistencia2_.id_movimiento "); return this.sessionFactory.getCurrentSession().createCriteria(Alumno.class, "alumno") .createAlias("alumno.movimientoList", "movimiento") .createAlias("alumno.asistenciaList", "asistencia").createAlias("movimiento.idEvento", "evento") .setProjection(Projections.projectionList().add(Projections.property("alumno.codigo"), "codigo") .add(Projections.property("alumno.nombre"), "nombre") .add(Projections.min("asistencia.diasRestantes"), "clasesRestantes") .add(Projections.max("movimiento.idMovimiento")) .add(Projections.property("alumno.idAlumno"), "idAlumno") .add(Projections.max("movimiento.fechaInicio"), "fecha") .add(Projections.groupProperty("alumno.idAlumno"))) .add(Restrictions.sqlRestriction(restriction.toString())) .add(Restrictions.eq("movimiento.activo", true)).add(Restrictions.gt("evento.diasMes", 1)) .setResultTransformer(Transformers.aliasToBean(ReporteAlumno.class)) .addOrder(Order.desc("asistencia.diasRestantes")).list(); }
From source file:com.segundo.piso.daos.impl.DAOReportImpl.java
@Override @Transactional/* ww w . j ava 2s. c o m*/ public List<ReporteClases> classesReport(Filters filters) { Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Asistencia.class, "attendence") .createAlias("attendence.idClase", "clase").createAlias("attendence.idAlumno", "alumno") .setProjection(Projections.projectionList() .add(Projections.distinct(Projections.property("attendence.idAlumno")), "alumno") .add(Projections.property("attendence.idClase"), "clase")) .addOrder(Order.asc("clase.nombreClase")).addOrder(Order.asc("alumno.nombre")) .setResultTransformer(Transformers.aliasToBean(ReporteClases.class)); addFilters(filters, criteria); return criteria.list(); }
From source file:com.smartitengineering.dao.impl.hibernate.AbstractDAO.java
License:Open Source License
@SuppressWarnings("unchecked") private void processCriteria(Criteria criteria, String element, QueryParameter parameter) { switch (parameter.getParameterType()) { case PARAMETER_TYPE_PROPERTY: { criteria.add(getCriterion(element, parameter)); return;/* w w w .j a v a 2 s . co m*/ } case PARAMETER_TYPE_ORDER_BY: { final Order order; SimpleNameValueQueryParameter<com.smartitengineering.dao.common.queryparam.Order> queryParameter = QueryParameterCastHelper.SIMPLE_PARAM_HELPER .cast(parameter); com.smartitengineering.dao.common.queryparam.Order requestedOrder = queryParameter.getValue(); switch (requestedOrder) { case ASC: { order = Order.asc(element); break; } case DESC: { order = Order.desc(element); break; } default: { order = null; break; } } if (order != null) { criteria.addOrder(order); } return; } case PARAMETER_TYPE_MAX_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setMaxResults(queryParameter.getValue()); return; } case PARAMETER_TYPE_FIRST_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setFirstResult(queryParameter.getValue()); return; } case PARAMETER_TYPE_DISJUNCTION: { processDisjunction(criteria, parameter); return; } case PARAMETER_TYPE_CONJUNCTION: { processConjunction(criteria, parameter); return; } case PARAMETER_TYPE_NESTED_PROPERTY: { processNestedParameter(criteria, element, parameter); return; } case PARAMETER_TYPE_COUNT: { final Projection countProjection = Projections.count(element); setProjection(criteria, countProjection); return; } case PARAMETER_TYPE_ROW_COUNT: { final Projection rowCount = Projections.rowCount(); setProjection(criteria, rowCount); return; } case PARAMETER_TYPE_SUM: { final AggregateProjection sum = Projections.sum(element); setProjection(criteria, sum); return; } case PARAMETER_TYPE_MAX: { final AggregateProjection max = Projections.max(element); setProjection(criteria, max); return; } case PARAMETER_TYPE_MIN: { final AggregateProjection min = Projections.min(element); setProjection(criteria, min); return; } case PARAMETER_TYPE_AVG: { final AggregateProjection avg = Projections.avg(element); setProjection(criteria, avg); return; } case PARAMETER_TYPE_GROUP_BY: { final PropertyProjection groupProperty = Projections.groupProperty(element); setProjection(criteria, groupProperty); return; } case PARAMETER_TYPE_COUNT_DISTINCT: { final CountProjection countDistinct = Projections.countDistinct(element); setProjection(criteria, countDistinct); return; } case PARAMETER_TYPE_DISTINCT_PROP: { final Projection distinct = Projections.distinct(Projections.property(element)); setProjection(criteria, distinct); return; } case PARAMETER_TYPE_UNIT_PROP: { final PropertyProjection property = Projections.property(element); setProjection(criteria, property); return; } } }
From source file:com.socialsite.dao.hibernate.AbstractImageDaoImpl.java
License:Open Source License
public byte[] getImage(final long id) { final Criteria criteria = getSession().createCriteria(domainClass); criteria.add(Restrictions.idEq(id)); criteria.setProjection(Projections.property("image")); return (byte[]) criteria.uniqueResult(); }
From source file:com.socialsite.dao.hibernate.AbstractImageDaoImpl.java
License:Open Source License
public Date getLastModifiedTime(final long id) { final Criteria criteria = getSession().createCriteria(domainClass); criteria.add(Restrictions.idEq(id)); criteria.setProjection(Projections.property("lastModified")); return (Date) criteria.uniqueResult(); }
From source file:com.socialsite.dao.hibernate.AbstractImageDaoImpl.java
License:Open Source License
public byte[] getThumb(final long id) { final Criteria criteria = getSession().createCriteria(domainClass); criteria.add(Restrictions.idEq(id)); criteria.setProjection(Projections.property("thumb")); return (byte[]) criteria.uniqueResult(); }
From source file:com.socialsite.dao.hibernate.ProfileDaoImpl.java
License:Open Source License
@Override public Date getLastModifiedTime(final long id) { final Criteria criteria = getSession().createCriteria(User.class); criteria.add(Restrictions.idEq(id)); criteria.setProjection(Projections.property("lastModified")); return (Date) criteria.uniqueResult(); }
From source file:com.square.adherent.noyau.dao.implementations.contrat.ContratDaoImpl.java
License:Open Source License
@Override public List<RatioPrestationCotisationDto> getRatioPrestationCotisationPersonne(Long uidPersonne) { final Criteria crit = createCriteria(Ratio.class); final ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("ratioPrestaSurCotis")); projectionList.add(Projections.property("annee")); crit.setProjection(projectionList);/* ww w. j av a 2 s .co m*/ crit.add(Restrictions.eq("uidPersonne", uidPersonne)); final List result = crit.list(); final Iterator iterator = result.iterator(); if (result == null) { return null; } else { double ratio = -1; int annee = -1; final List<RatioPrestationCotisationDto> listRatioDto = new ArrayList<RatioPrestationCotisationDto>(); while (iterator.hasNext()) { final Object[] objects = (Object[]) iterator.next(); ratio = ((Double) objects[0]).doubleValue(); annee = ((Integer) objects[1]).intValue(); final RatioPrestationCotisationDto ratioDto = new RatioPrestationCotisationDto(); ratioDto.setAnnee(annee); ratioDto.setRatioPrestationCotisation(ratio); final IdentifiantLibelleDto personneDto = new IdentifiantLibelleDto(uidPersonne); ratioDto.setPersonne(personneDto); listRatioDto.add(ratioDto); } return listRatioDto; } }