Example usage for org.hibernate.criterion ProjectionList add

List of usage examples for org.hibernate.criterion ProjectionList add

Introduction

In this page you can find the example usage for org.hibernate.criterion ProjectionList add.

Prototype

public ProjectionList add(Projection projection) 

Source Link

Document

Add a projection to this list of projections

Usage

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;
}