Example usage for org.hibernate.criterion Projections distinct

List of usage examples for org.hibernate.criterion Projections distinct

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections distinct.

Prototype

public static Projection distinct(Projection projection) 

Source Link

Document

Create a distinct projection from a projection.

Usage

From source file:uk.nhs.cfh.dsp.srth.expression.repository.impl.ExpressionMappingObjectDAOImpl.java

License:Apache License

/**
 * This method returns all distinct {@link uk.nhs.cfh.dsp.srth.expression.repository.om.ExpressionMappingObject}s,
 * in the repository which match the given proximal primitive using SQL like operator,
 * but only returns their UUIDs and compositional grammar form of their NFE.
 *
 * @param proximalPrimitive the proximal primitive
 * @return the list/*from w ww.j  ava  2  s.  c o m*/
 */
public List<ExpressionMappingObject> returnAllMatchingDistinctLiteObjects(final String proximalPrimitive) {

    List list = this.hibernateTemplate.executeFind(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(ExpressionMappingObjectImpl.class);
            ProjectionList projectionList = Projections.projectionList();
            projectionList.add(Projections.distinct(Projections.property(NFE_UUID)));
            projectionList.add(Projections.property(NFE_CGF));
            criteria.setProjection(projectionList);
            criteria.add(Restrictions.like(NFE_CGF, proximalPrimitive + "%"));

            return criteria.list();
        }
    });

    return returnLiteObjects(list);
}

From source file:uk.nhs.cfh.dsp.srth.expression.repository.impl.ExpressionMappingObjectDAOImpl.java

License:Apache License

public List<UUID> getCTUIdsUsingNFEFIds(final Collection<UUID> nfeUUIDs) {

    if (nfeUUIDs.size() < 1) {
        return Collections.emptyList();
    } else {/* w w  w .j  a v  a2  s  .  c o m*/
        List list = this.hibernateTemplate.executeFind(new HibernateCallback() {

            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                Criteria criteria = session.createCriteria(ExpressionMappingObjectImpl.class);
                ProjectionList projectionList = Projections.projectionList();
                projectionList.add(Projections.distinct(Projections.property(CTU_UUID)));
                criteria.setProjection(projectionList);
                criteria.add(Restrictions.in(NFE_UUID, nfeUUIDs.toArray()));

                return criteria.list();
            }
        });

        return list;
    }
}

From source file:util.DAOGenerics.java

@SuppressWarnings("CallToThreadDumpStack")
public List<T> listarDistinto() {
    Session sessao = null;/*from  w w  w . j av  a 2  s .c  o m*/
    Transaction transacao = null;

    List<T> lista = new ArrayList<T>();
    try {
        sessao = HibernateUtil.getSessionFactory().openSession();
        transacao = sessao.beginTransaction();

        Criteria criteria = sessao.createCriteria(this.classe);
        criteria.setProjection(Projections.distinct(Projections.property("carro")));
        lista = criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        transacao.commit();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return lista;
}

From source file:util.DAOGenerics.java

@SuppressWarnings("CallToThreadDumpStack")
public List<T> listarDistintoUf() {
    Session sessao = null;//from w  w  w .j  a va  2s  .c  om
    Transaction transacao = null;

    List<T> lista = new ArrayList<T>();
    try {
        sessao = HibernateUtil.getSessionFactory().openSession();
        transacao = sessao.beginTransaction();

        Criteria criteria = sessao.createCriteria(this.classe);
        criteria.setProjection(Projections.distinct(Projections.property("uf")));
        criteria.addOrder(Order.asc("uf"));
        lista = criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        transacao.commit();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return lista;
}

From source file:vn.vnpttech.ssdc.nms.dao.hibernate.DeviceDaoHibernate.java

License:Apache License

@Override
public List<Device> getDeviceFailedOfPolicy(Policy p) {
    List<Device> ld = null;
    Criteria c = getSession().createCriteria(Device.class).createAlias("policiesHistory", "ph");
    c.add(Restrictions.eq("ph.policy", p));
    c.add(Restrictions.eq("ph.status", Constant.POLICY_HISTORY_FAIL));
    c.setProjection(Projections.distinct(Projections.property("ph.device")));

    ld = c.list();/* w w w .ja v a  2s  . c  om*/
    return ld;

}