Example usage for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY

List of usage examples for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY

Introduction

In this page you can find the example usage for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.

Prototype

ResultTransformer DISTINCT_ROOT_ENTITY

To view the source code for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.

Click Source Link

Document

Each row of results is a distinct instance of the root entity

Usage

From source file:com.jubinationre.model.dao.AdminDAOImpl.java

@Override
public Object readPropertyList(Object entity, String listType) {
    Admin admin = (Admin) entity;//from w  w  w .j a  v a2s .co  m
    List list = null;
    switch (listType) {
    case "Inbox":
        try {
            session = getSessionFactory().openSession();
            session.beginTransaction();
            admin = (Admin) session.get(Admin.class, admin.getUsername());

            Criteria criteria = session.createCriteria(Message.class, "msg");
            criteria.add(Restrictions.eq("msg.receiver.username", admin.getUsername()));
            criteria.addOrder(Order.desc("messageId"));

            criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
            criteria.setFirstResult(0);
            criteria.setMaxResults(10);
            list = criteria.list();
            session.getTransaction().commit();
        } catch (Exception e) {
            session.getTransaction().rollback();
            System.out.println("Error in reading Favourites at CustomerDAO " + e);
            e.printStackTrace();
            admin = null;
        } finally {
            if (session.isOpen()) {
                session.close();
            }

        }
        break;
    case "Sent":
        try {
            session = getSessionFactory().openSession();
            session.beginTransaction();

            admin = (Admin) session.get(Admin.class, admin.getUsername());

            Criteria criteria = session.createCriteria(Message.class, "msg");
            criteria.add(Restrictions.eq("msg.sender.username", admin.getUsername()));
            criteria.addOrder(Order.desc("messageId"));

            criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
            criteria.setFirstResult(0);
            criteria.setMaxResults(10);
            list = criteria.list();
            session.getTransaction().commit();
        } catch (Exception e) {
            session.getTransaction().rollback();
            System.out.println("Error in reading Favourites at CustomerDAO " + e);
            e.printStackTrace();
            admin = null;
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }

        break;
    default:
        System.out.println("Not an option");
        admin = null;
        break;
    }

    return (T) list;
}

From source file:com.lighting.platform.base.dao.SimpleHibernateDao.java

License:Apache License

/**
 * Criteriadistinct transformer.//from  ww w . j  ava 2  s . c  o  m
 * ?HQL??, ?distinct?.
 */
public Criteria distinct(Criteria criteria) {
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.setCacheable(cacheable());
}

From source file:com.lighting.platform.base.dao.SimpleHibernateDao.java

License:Apache License

/**
 * Querydistinct transformer.//ww  w .ja va2  s  .  c om
 * ?HQL??, ?distinct?.
 */
public Query distinct(Query query) {
    query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return query.setCacheable(cacheable());
}

From source file:com.micromap.dao.AuthoritiesDAO.java

public List<Authorities> listaAuthorities() throws Exception {
    List<Authorities> lista = null;
    try {//from   www  . ja v  a  2 s.c  om
        session = HibernateUtil.getSessionFactory().openSession();
        Criteria criteria = session.createCriteria(Authorities.class);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        lista = criteria.list();
    } catch (Exception e) {
        throw new Exception(e.getMessage());
    } finally {
        session.close();
    }
    return lista;
}

From source file:com.micromap.dao.AuthoritiesDAO.java

public Authorities buscaAuthorities(String authority) throws Exception {
    Authorities retorno = null;/*from  www  .ja v  a2  s .c  o  m*/
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        Criteria criteria = session.createCriteria(Authorities.class);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        criteria.add(Restrictions.like("authority", authority));
        retorno = (Authorities) criteria.uniqueResult();
    } catch (Exception e) {
        throw new Exception(e.getMessage());
    } finally {
        session.close();
    }
    return retorno;
}

From source file:com.micromap.dao.UsersDAO.java

public List<Users> listaUsers() throws Exception {
    List<Users> lista = null;
    try {//from w  w w  . jav a 2  s.co m
        session = HibernateUtil.getSessionFactory().openSession();
        Criteria criteria = session.createCriteria(Users.class);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        lista = criteria.list();
    } catch (Exception e) {
        throw new Exception(e.getMessage());
    } finally {
        session.close();
    }
    return lista;
}

From source file:com.ponysdk.hibernate.query.PaginatingCriteria.java

License:Apache License

public PaginatingCriteria(final Session session, final Class<T> persistentClass) {
    this.mainCriteria = session.createCriteria(persistentClass);
    this.mainCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    this.cloneCriteria = session.createCriteria(persistentClass);
    this.cloneCriteria.setProjection(Projections.rowCount());
    this.cloneCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
}

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));//from w  w  w.j  a va 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.sapienter.jbilling.server.metafields.db.MetaFieldDAS.java

License:Open Source License

public MetaField getFieldByNameTypeAndGroup(Integer entityId, EntityType[] entityType, String name,
        Integer groupId) {//from w w  w  .  j  a  va 2s  .c om
    DetachedCriteria query = DetachedCriteria.forClass(MetaField.class);
    query.add(Restrictions.eq("entityId", entityId));
    query.add(Restrictions.in("entityType", entityType));
    query.add(Restrictions.eq("name", name));
    query.createAlias("metaFieldGroups", "groups", CriteriaSpecification.LEFT_JOIN);
    query.add(Restrictions.eq("groups.id", groupId));
    query.add(Restrictions.eq("groups.entityType", EntityType.ACCOUNT_TYPE));
    query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    List<MetaField> fields = (List<MetaField>) getHibernateTemplate().findByCriteria(query);
    return !fields.isEmpty() ? fields.get(0) : null;
}

From source file:com.sapienter.jbilling.server.metafields.db.MetaFieldDAS.java

License:Open Source License

public MetaField getFieldByNameAndGroup(Integer entityId, String name, Integer groupId) {
    DetachedCriteria query = DetachedCriteria.forClass(MetaField.class);
    query.add(Restrictions.eq("entityId", entityId));
    query.add(Restrictions.eq("name", name));
    query.createAlias("metaFieldGroups", "groups", CriteriaSpecification.LEFT_JOIN);
    query.add(Restrictions.eq("groups.id", groupId));
    query.add(Restrictions.eq("groups.entityType", EntityType.ACCOUNT_TYPE));
    query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    List<MetaField> fields = (List<MetaField>) getHibernateTemplate().findByCriteria(query);
    return !fields.isEmpty() ? fields.get(0) : null;
}