Example usage for org.hibernate Session clear

List of usage examples for org.hibernate Session clear

Introduction

In this page you can find the example usage for org.hibernate Session clear.

Prototype

void clear();

Source Link

Document

Completely clear the session.

Usage

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<Flota> getByFilter(Flota f) {
    List<Flota> res = new ArrayList<Flota>(0);
    try {//from   w  ww  .j av  a 2s .co  m
        Session currentSession = getSession();
        currentSession.clear();
        Criteria criteria = currentSession.createCriteria(Flota.class).add(Restrictions.eq("habilitada", true));

        if (f.getInfoAdicional() != null)
            criteria = criteria.add(
                    Restrictions.ilike("infoAdicional", LogicConstants.getGenericString(f.getInfoAdicional())));
        if (f.getNombre() != null)
            criteria = criteria
                    .add(Restrictions.ilike("nombre", LogicConstants.getGenericString(f.getNombre())));
        if (f.getHabilitada() != null)
            criteria = criteria.add(Restrictions.eq("habilitada", f.getHabilitada()));
        if (f.getJuegoIconos() != null)
            criteria = criteria.add(
                    Restrictions.ilike("juegoIconos", LogicConstants.getGenericString(f.getJuegoIconos())));
        res = criteria.addOrder(Order.asc("nombre")).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();

        for (Flota fl : res)
            if (fl != null) {
                if (fl.getRoles() != null)
                    for (Rol r : fl.getRoles())
                        r.getId();
            }
    } catch (Throwable t) {
        log.error(t, t);
    }
    return res;
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Throwable.class)
public boolean saveOrUpdate(Flota f) {
    boolean res = false;
    if (f == null)
        return res;
    try {/*from   w  w  w  . j  av a 2 s.  c  om*/
        log.debug("Saving " + f);
        final Set<Rol> roles = f.getRoles();
        final Set<Recurso> recurso = f.getRecurso();
        removeRecursos(f);
        removeRoles(f);
        Session currentSession = getSession();
        currentSession.clear();

        Flota entity = null;

        if (f.getId() != null && this.get(f.getId()) != null)
            entity = (Flota) currentSession.merge(f);
        else
            entity = f;
        if (recurso != null)
            for (Recurso r : recurso) {
                r = (Recurso) currentSession.get(Recurso.class, r.getId());
                if (r != null) {
                    r.setFlotas(entity);
                    currentSession.saveOrUpdate(r);
                }
            }

        if (roles != null)
            for (Rol r : roles) {
                Rol rentity = (Rol) currentSession.get(Rol.class, r.getId());
                if (rentity != null) {
                    rentity.getFlotas().add(entity);
                    currentSession.saveOrUpdate(rentity);
                }
            }

        currentSession.saveOrUpdate(entity);
    } catch (Throwable t) {
        log.error(t, t);
        return false;
    }
    return true;
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Throwable.class)
private void removeRecursos(Flota p) {
    try {//  w w w.  j  a v  a 2 s . c  o  m
        if (p != null && p.getId() != null) {
            Session currentSession = getSession();
            currentSession.clear();
            p = this.get(p.getId());
            if (p != null && p.getRecurso() != null) {
                for (Recurso r : p.getRecurso()) {
                    r = (Recurso) currentSession.get(Recurso.class, r.getId());
                    if (r != null) {
                        r.setFlotas(null);
                        currentSession.saveOrUpdate(r);
                    }
                }
            }
        }
    } catch (Throwable t) {
        log.error(t, t);
    }
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Throwable.class)
private void removeRoles(Flota f) {
    try {//  ww  w .j  av a2  s . c o m
        if (f != null && f.getId() != null) {
            Session currentSession = getSession();
            currentSession.clear();

            f = this.get(f.getId());

            final Set<Rol> roles = Collections.unmodifiableSet(f.getRoles());
            if (f != null && roles != null)
                for (Rol r : roles) {
                    r = (Rol) currentSession.get(Rol.class, r.getId());
                    if (r != null && r.getFlotas() != null) {
                        final Set<Flota> flotas = Collections.unmodifiableSet(r.getFlotas());
                        List<Flota> aBorrar = new LinkedList<Flota>();
                        for (Flota fl : flotas)
                            if (fl.getId().equals(f.getId()))
                                aBorrar.add(fl);
                        for (Flota fl : aBorrar)
                            r.getFlotas().remove(fl);
                        currentSession.saveOrUpdate(r);
                    }
                }
        }
    } catch (Throwable t) {
        log.error(t, t);
    }
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<String> getAllIcons() {
    Session currentSession = getSession();
    currentSession.clear();
    return (List<String>) currentSession.createCriteria(Flota.class)
            .setProjection(Projections.property("juegoIconos"))
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<String> getAllNames() {
    Session currentSession = getSession();
    currentSession.clear();
    return (List<String>) currentSession.createCriteria(Flota.class)
            .setProjection(Projections.property("nombre")).addOrder(Order.asc("nombre"))
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED, readOnly = true, rollbackFor = Throwable.class)
public Flota find(Long id) {
    Session currentSession = getSession();
    currentSession.clear();
    final Flota uniqueResult = (Flota) currentSession.createCriteria(Flota.class).add(Restrictions.eq("id", id))
            .uniqueResult();/*from   w w  w.j a  va  2s . co  m*/
    if (uniqueResult != null) {
        uniqueResult.getJuegoIconos();
    }
    return uniqueResult;
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<String> getAllNamesHabilitadas() {
    Session currentSession = getSession();
    currentSession.clear();
    return (List<String>) currentSession.createCriteria(Flota.class)
            .add(Restrictions.eq("habilitada", Boolean.TRUE)).setProjection(Projections.property("nombre"))
            .addOrder(Order.asc("nombre")).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<Flota> getAllHabilitadas() {
    Session currentSession = getSession();
    currentSession.clear();
    return (List<Flota>) currentSession.createCriteria(Flota.class)
            .add(Restrictions.eq("habilitada", Boolean.TRUE)).addOrder(Order.asc("nombre"))
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public Flota find(String nombre) {
    Flota res = null;//ww w  .  j  av a 2s .co  m
    try {
        Session currentSession = getSession();
        currentSession.clear();
        res = (Flota) currentSession.createCriteria(Flota.class).add(Restrictions.eq("nombre", nombre))
                .setMaxResults(1).uniqueResult();
    } catch (Throwable t) {
        log.error(t, t);
    }
    return res;
}