List of usage examples for org.hibernate.criterion ProjectionList add
public ProjectionList add(Projection projection)
From source file:net.neurowork.cenatic.centraldir.dao.impl.HibernateOrganizacionDaoImpl.java
License:Apache License
@SuppressWarnings("rawtypes") @Override// w w w . ja va 2 s . c o m public Integer getTotalOrganizaciones() throws DaoException { if (logger.isTraceEnabled()) logger.trace("Hibernate Searching Total Organizaciones"); DetachedCriteria criteria = DetachedCriteria.forClass(Organizacion.class); ProjectionList projList = Projections.projectionList(); projList.add(Projections.rowCount()); criteria.setProjection(projList); List result = getHibernateTemplate().findByCriteria(criteria); if (result != null) return (Integer) result.get(0); return 0; }
From source file:net.neurowork.cenatic.centraldir.dao.impl.HibernateSateliteDaoImpl.java
License:Apache License
@SuppressWarnings("rawtypes") @Override/*from w w w. j a v a2s . c o m*/ public Integer getOrganizacionesCount(Satelite satelite) throws DaoException { if (logger.isTraceEnabled()) logger.trace("Hibernate Searching Total Organizaciones"); DetachedCriteria criteria = DetachedCriteria.forClass(OrganizacionSatelite.class); ProjectionList projList = Projections.projectionList(); projList.add(Projections.rowCount()); criteria.setProjection(projList); criteria.add(Restrictions.eq("satelite", satelite)); List result = getHibernateTemplate().findByCriteria(criteria); if (result != null) return (Integer) result.get(0); return 0; }
From source file:net.thackbarth.sparrow.DatabaseCleaner.java
License:Apache License
void removeDoubleFiles(Session session) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty(PROPERTY_FILE_PATH).as(PROPERTY_FILE_PATH)) .add(Projections.count(PROPERTY_FILE_PATH).as(PROPERTY_AMOUNT)); Criteria doubleCriteria = session.createCriteria(MusicTrack.class).setProjection(projectionList) .setMaxResults(configuration.getBatchSize()).addOrder(Order.desc(PROPERTY_AMOUNT)); boolean uniqueFileFound = false; do {/*www.j a va2s . co m*/ progress.info("Delete double files from database."); List doubleList = doubleCriteria.list(); if (doubleList.isEmpty()) { uniqueFileFound = true; } else { for (Object obj : doubleList) { uniqueFileFound = checkDoubleFiles(session, (Object[]) obj) || uniqueFileFound; } } session.flush(); } while (!uniqueFileFound); }
From source file:org.ambraproject.rhino.service.impl.ArticleCrudServiceImpl.java
License:Open Source License
@Override public Collection<String> getArticleDoisForDateRange(int pageNumber, int pageSize, SortOrder sortOrder, Optional<LocalDateTime> fromDate, Optional<LocalDateTime> toDate) { final long totalArticles = hibernateTemplate.execute(session -> { final Query query = session.createQuery("select count(*) from Article"); final Long count = (Long) query.uniqueResult(); return count; });// w w w .j av a2 s. c o m if (totalArticles > 0L) { pageNumber = max(pageNumber, 1); final int maxResults = min(pageSize, MAX_PAGE_SIZE); final int firstResult = (pageNumber - 1) * maxResults; if (LOG.isDebugEnabled()) { LOG.debug("pageNumber: {}, pageSize: {}", pageNumber, pageSize); LOG.debug("firstResult: {}, maxResults: {}", firstResult, maxResults); LOG.debug("sortOrder: {}", sortOrder); } if (firstResult < totalArticles) { final DetachedCriteria criteria = DetachedCriteria.forClass(Article.class); final ProjectionList projections = Projections.projectionList(); projections.add(Projections.property("doi" /* propertyName */)); criteria.setProjection(projections); // Set restrictions for filtering on date range, if any. if (fromDate.isPresent()) { criteria.add(Restrictions.ge("created" /* propertyName */, java.sql.Timestamp.valueOf(fromDate.get()))); } if (toDate.isPresent()) { criteria.add(Restrictions.le("created" /* propertyName */, java.sql.Timestamp.valueOf(toDate.get()))); } if (sortOrder == SortOrder.OLDEST) { criteria.addOrder(Order.asc("created" /* propertyName */)); } else { criteria.addOrder(Order.desc("created" /* propertyName */)); } @SuppressWarnings("unchecked") final List<String> articleDois = (List<String>) hibernateTemplate.findByCriteria(criteria, firstResult, maxResults); return articleDois; } } return ImmutableList.of(); }
From source file:org.babyfish.hibernate.model.loader.HibernateObjectModelScalarLoader.java
License:Open Source License
@SuppressWarnings("unchecked") private void loadScalarsImpl(Collection<ObjectModel> objectModels, int[] scalarPropertyIds) { boolean batch = objectModels.size() > 1; ObjectModel firstObjectModel = objectModels.iterator().next(); JPAObjectModelMetadata jpaObjectModelMetadata = (JPAObjectModelMetadata) firstObjectModel .getObjectModelMetadata();/*from ww w . ja v a 2 s.c o m*/ JPAScalarProperty entityIdProperty = jpaObjectModelMetadata.getEntityIdProperty(); Map<Object, ObjectModel> idMap = new LinkedHashMap<>(); for (ObjectModel objectModel : objectModels) { idMap.put(objectModel.getScalar(entityIdProperty.getId()), objectModel); } CriteriaImpl criteria = new CriteriaImpl(jpaObjectModelMetadata.getOwnerClass().getName(), session); ProjectionList projectionList = Projections.projectionList(); if (batch) { String ownerIdPropertyName = entityIdProperty.getOwnerProperty().getName(); projectionList.add(Projections.property(ownerIdPropertyName)); } for (int scalarPropertyId : scalarPropertyIds) { String ownerPropertyName = jpaObjectModelMetadata.getScalarProperty(scalarPropertyId).getOwnerProperty() .getName(); projectionList.add(Projections.property(ownerPropertyName)); } if (batch) { criteria.add(Restrictions.in(entityIdProperty.getOwnerProperty().getName(), idMap.keySet())); } else { criteria.add(Restrictions.eq(entityIdProperty.getOwnerProperty().getName(), idMap.keySet().iterator().next())); } criteria.setProjection(projectionList).setResultTransformer(new ResultTransformer() { private static final long serialVersionUID = -1387181124646452221L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { return tuple; } @SuppressWarnings("rawtypes") @Override public List transformList(List collection) { return collection; } }); List<Object[]> tuples; FlushMode oldFlushMode = session.getFlushMode(); session.setFlushMode(FlushMode.MANUAL); try { tuples = (List<Object[]>) criteria.list(); } finally { session.setFlushMode(oldFlushMode); } if (batch) { for (Object[] tuple : tuples) { ObjectModel objectModel = idMap.get(tuple[0]); for (int i = scalarPropertyIds.length - 1; i >= 0; i--) { objectModel.setScalar(scalarPropertyIds[i], tuple[i + 1]); } } } else { Object[] firstTuple = tuples.get(0); for (int i = scalarPropertyIds.length - 1; i >= 0; i--) { firstObjectModel.setScalar(scalarPropertyIds[i], firstTuple[i]); } } }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.content.ContentRepositoryHibernate.java
License:Open Source License
@SuppressWarnings("rawtypes") @Override/* www .j a va2s . c o m*/ public Resource findByResourceType(String typename, String url) { Criteria crit = getSession().createCriteria(Resource.class); ProjectionList proList = Projections.projectionList(); proList.add(Projections.property("resourceType")); proList.add(Projections.property("contentId")); proList.add(Projections.property("url")); proList.add(Projections.property("license")); crit.setProjection(proList); crit.add(Restrictions.eq("resourceType.name", typename)); crit.add(Restrictions.eq("url", url)); List resourceList = addAuthCriterias(crit).list(); Resource resource = null; Iterator it = resourceList.iterator(); while (it.hasNext()) { resource = new Resource(); Object[] row = (Object[]) it.next(); resource.setContentId((Long) row[1]); resource.setResourceType((ResourceType) row[0]); resource.setUrl((String) row[2]); resource.setLicense((License) row[3]); } return resource; }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.content.ContentRepositoryHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*w w w. j av a 2 s. c o m*/ public User findContentOwner(String gooruContentId) { ProjectionList proList = Projections.projectionList(); proList.add(Projections.property("user")); Criteria criteria = getSession().createCriteria(Content.class).setProjection(proList) .add(Restrictions.eq("gooruOid", gooruContentId)); List<Content> contents = addOrgAuthCriterias(criteria).list(); return contents.size() == 0 ? null : contents.get(0).getUser(); }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.taxonomy.TaxonomyRepositoryHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from ww w. j a va 2 s . c o m*/ public List<Code> findChildTaxonomyCode(Integer codeId) { ProjectionList proList = Projections.projectionList(); proList.add(Projections.property("codeId")); proList.add(Projections.property("label")); List<Code> codeList = getSession().createCriteria(Code.class) .add(Restrictions.in("organization.partyUid", getUserOrganizationUids())) .add(Expression.eq("parentId", codeId)).list(); return codeList; }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.taxonomy.TaxonomyRepositoryHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w . ja va2 s . c o m*/ public List<Code> findCodeByType(Integer taxonomyLevel) { ProjectionList proList = Projections.projectionList(); proList.add(Projections.property("codeId")); proList.add(Projections.property("label")); List<Code> codeList = getSession().createCriteria(Code.class) .add(Restrictions.in("organization.partyUid", getUserOrganizationUids())).setProjection(proList) .add(Expression.eq("codeType.typeId", taxonomyLevel)).list(); return codeList; }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.user.UserRepositoryHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w ww. ja va 2 s .com public List<Identity> findAllIdentities() { Criteria crit = getSession().createCriteria(Identity.class); crit.createAlias("user", "user"); ProjectionList proList = Projections.projectionList(); proList.add(Projections.property(EXTERNAL_ID)); crit.setProjection(proList); List<Identity> identityList = addOrgAuthCriterias(crit, "user.").list(); return identityList.size() == 0 ? null : identityList; }