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:es.emergya.bbdd.dao.IncidenciaHome.java

License:Open Source License

/**
 * Devuelve todas las incidencias que estuvieron abiertas en el intervalo
 * pasado y su posicin coincide con alguna de las zonas indicadas. Si no se
 * pasan zonas, la posicin no se utilizar como criterio para obtener la
 * lista de incidencias./*  www  . j a  va  2  s .co m*/
 * 
 * @param nombreUsuario
 *            el nombre de usuario del usuario que realiza la consulta.
 * @param fechaInicio
 *            el instante inicial a usar en el filtro.
 * @param fechaFinal
 *            el instante final a usar en el filtro.
 * @param zonas
 *            Lista de zonas en las que deben estar las incidencias.
 * @return La lista de zonas que estuvieron abiertas en algn momento del
 *         periodo en alguna de las zonas pasadas.
 */
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<Incidencia> getIncidenciasEnPeriodo(String nombreUsuario, Calendar fechaInicio,
        Calendar fechaFinal) {
    Date inicio = null;
    Date fin = null;

    if (fechaInicio != null) {
        inicio = fechaInicio.getTime();
    } else {
        return new ArrayList<Incidencia>(0);
    }
    if (fechaFinal != null) {
        fin = fechaFinal.getTime();
    } else {
        return new ArrayList<Incidencia>(0);
    }

    Criteria c = getSession().createCriteria(Incidencia.class).addOrder(Order.asc("referenciaHumana"))
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
            .createAlias("street", "st", Criteria.LEFT_JOIN).createAlias("portal", "pt", Criteria.LEFT_JOIN);
    if (fin != null) {
        c = c.add(Restrictions.le("fechaCreacion", fin));
    }
    if (inicio != null) {
        c = c.add(Restrictions.or(Restrictions.ge("fechaCierre", inicio),
                Property.forName("fechaCierre").isNull()));
    }

    log.trace("Criteria final: " + c);

    return c.list();
}

From source file:es.emergya.bbdd.dao.RolHome.java

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<Flota> getAsigned(Rol r) {
    if (r == null || r.getId() == null)
        return new ArrayList<Flota>(0);
    log.debug("getAsigned(" + r.getId() + ")");
    Session currentSession = getSession();
    currentSession.clear();/*  w w w .  j a v  a 2  s  . c  o m*/
    Criteria criteria = currentSession.createCriteria(Flota.class).add(Restrictions.eq("habilitada", true))
            .createCriteria("roles").add(Restrictions.in("id", new Long[] { r.getId() }));
    return (List<Flota>) criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list();
}

From source file:es.juntadeandalucia.panelGestion.persistencia.dao.impl.SchemaDAOImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w w  w .  j  a  v  a2  s.  co  m
public List<Schema> findByDataBase(long dataBaseId) {
    Criteria criteria = getSession().createCriteria(Schema.class);

    criteria.setFetchMode("dataBase", FetchMode.JOIN);
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    criteria.add(Restrictions.eq("dataBase.id", dataBaseId));

    return criteria.list();
}

From source file:es.juntadeandalucia.panelGestion.persistencia.dao.impl.TableDAOImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from   ww  w .j  a  v a  2  s.  c om
public List<Table> findBySchema(long schemaId) {
    Criteria criteria = getSession().createCriteria(Table.class);

    criteria.setFetchMode("schema", FetchMode.JOIN);
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    criteria.add(Restrictions.eq("schema.id", schemaId));

    return criteria.list();
}

From source file:es.sm2.openppm.core.dao.ChangeControlDAO.java

License:Open Source License

@Deprecated
public List<Changecontrol> findByProject(Project proj) {

    List<Changecontrol> list = null;

    if (proj != null) {

        Criteria crit = getSession().createCriteria(getPersistentClass())
                .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.eq(Changecontrol.PROJECT, proj));

        // Joins//w  ww.  j ava  2s. c o  m
        crit.setFetchMode(Changecontrol.CHANGETYPE, FetchMode.JOIN);
        crit.setFetchMode(Changecontrol.CHANGEREQUESTWBSNODES, FetchMode.JOIN);

        // Order
        crit.addOrder(Order.asc(Changecontrol.CHANGEDATE));

        list = crit.list();
    }

    return list;
}

From source file:es.sm2.openppm.core.dao.ChangeControlDAO.java

License:Open Source License

/**
 * Find change controls// ww  w  .  ja  va 2s.  c o m
 *
 * @param search
 * @return
 */
public List<Changecontrol> find(ChangeControlSearch search) {

    List<Changecontrol> list = null;

    if (search.getIdProject() != null) {

        Criteria crit = getSession().createCriteria(getPersistentClass())
                .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.eq(Changecontrol.PROJECT, new Project(search.getIdProject())));

        // Joins
        crit.setFetchMode(Changecontrol.CHANGETYPE, FetchMode.JOIN);
        crit.setFetchMode(Changecontrol.CHANGEREQUESTWBSNODES, FetchMode.JOIN);

        // Filter by resolution
        if (search.getResolution() != null) {
            crit.add(Restrictions.eq(Changecontrol.RESOLUTION, search.getResolution()));
        }
        // Order
        crit.addOrder(Order.asc(Changecontrol.CHANGEDATE));

        list = crit.list();
    }

    return list;
}

From source file:es.sm2.openppm.core.dao.CompanyDAO.java

License:Open Source License

/**
 * Search company of employee/*from  w w w. j a  va  2  s  .  c o  m*/
 * @param user
 * @return
 */
public Company searchByEmployee(Employee user) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).createCriteria(Company.CONTACTS)
            .createCriteria(Contact.EMPLOYEES).add(Restrictions.idEq(user.getIdEmployee()));

    return (Company) crit.uniqueResult();
}

From source file:es.sm2.openppm.core.dao.ContactDAO.java

License:Open Source License

/**
 * Search Contacts by filter/*ww  w  . ja v a  2 s  .c om*/
 * @param resourcepools
  * @param fullName
  * @param fileAs
  * @param performingorg
  * @param company
  * @param skills
  *@param jobcategories @return
 */
@SuppressWarnings("unchecked")
public List<Contact> searchByFilter(String fullName, String fileAs, Performingorg performingorg,
        Company company, List<Resourcepool> resourcepools, List<Skill> skills,
        List<Jobcategory> jobcategories) {

    Contact example = new Contact();
    example.setFileAs(fileAs);
    example.setFullName(fullName);

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
            .add(Example.create(example).ignoreCase().enableLike(MatchMode.ANYWHERE))
            .add(Restrictions.or(Restrictions.isNull(Contact.DISABLE), Restrictions.ne(Contact.DISABLE, true)));

    // Company
    //
    crit.createCriteria(Contact.COMPANY).add(Restrictions.idEq(company.getIdCompany()))
            .add(Restrictions.or(Restrictions.isNull(Company.DISABLE), Restrictions.ne(Company.DISABLE, true)));

    // Employee
    Criteria critEmployee = crit.createCriteria(Contact.EMPLOYEES, CriteriaSpecification.LEFT_JOIN);

    if (performingorg != null && performingorg.getIdPerfOrg() != null && performingorg.getIdPerfOrg() != -1) {

        critEmployee.createCriteria(Employee.PERFORMINGORG)
                .add(Restrictions.idEq(performingorg.getIdPerfOrg()));
    }

    if (ValidateUtil.isNotNull(resourcepools)) {
        critEmployee.add(Restrictions.in(Employee.RESOURCEPOOL, resourcepools));
    }

    if (ValidateUtil.isNotNull(skills)) {
        critEmployee.createCriteria(Employee.SKILLSEMPLOYEES)
                .add(Restrictions.in(Skillsemployee.SKILL, skills));
    }

    if (ValidateUtil.isNotNull(jobcategories)) {
        critEmployee.createCriteria(Employee.JOBCATEMPLOYEES)
                .add(Restrictions.in(Jobcatemployee.JOBCATEGORY, jobcategories));
    }

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ContactDAO.java

License:Open Source License

/**
 * Find owners LLAA// w ww  . j  a v  a  2  s .  c  o m
 *
 * @param company
 * @return
 */
public List<Contact> findUsedInLLAA(Company company) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
            .add(Restrictions.eq(Contact.COMPANY, company))
            .add(Restrictions.or(Restrictions.isNull(Contact.DISABLE), Restrictions.ne(Contact.DISABLE, true)))
            .addOrder(Order.asc(Contact.FULLNAME));

    crit.createCriteria(Contact.LEARNEDLESSONS).add(Restrictions.eq(LearnedLesson.COMPANY, company));

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.MetrickpiDAO.java

License:Open Source License

/**
 * Search metricKpis by filter//from w  ww  .j a  v a2s  .c o  m
 *
 * @param name
 * @param type
 *@param company  @return
 */
@SuppressWarnings("unchecked")
public List<Metrickpi> searchByFilter(String name, Integer idBSCDimension, String type, Project project,
        Company company, List<String> joins) {

    Metrickpi example = new Metrickpi();
    example.setName(name);

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
            .add(Example.create(example).ignoreCase().enableLike(MatchMode.ANYWHERE));

    // Add joins
    if (joins != null && !joins.isEmpty()) {
        for (String join : joins) {
            crit.setFetchMode(join, FetchMode.JOIN);
        }
    }

    // by company
    crit.createCriteria(Metrickpi.COMPANY).add(Restrictions.idEq(company.getIdCompany()))
            .add(Restrictions.or(Restrictions.isNull(Company.DISABLE), Restrictions.ne(Company.DISABLE, true)));

    // By bsc dimension
    if (!idBSCDimension.equals(-1)) {
        crit.add(Restrictions.eq(Metrickpi.BSCDIMENSION, new Bscdimension(idBSCDimension)));
    }

    // By type
    if (ValidateUtil.isNotNull(type)) {
        crit.add(Restrictions.eq(Metrickpi.TYPE, type));
    }

    // By project
    if (project.getIdProject() != -1) {
        crit.createCriteria(Projectkpi.PROJECT).add(Restrictions.idEq(project.getIdProject()));
    }

    return crit.list();
}