Example usage for org.hibernate.criterion Restrictions isNull

List of usage examples for org.hibernate.criterion Restrictions isNull

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions isNull.

Prototype

public static Criterion isNull(String propertyName) 

Source Link

Document

Apply an "is null" constraint to the named property

Usage

From source file:ispyb.server.mx.daos.sample.BLSample3DAOBean.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<BLSample3VO> findByProposalIdAndDewarNull(Integer proposalId) {
    Session session = (Session) this.entityManager.getDelegate();

    Criteria criteria = session.createCriteria(BLSample3VO.class);
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS !
    criteria.add(Restrictions.isNull("containerVO"));
    // Criteria subCritContainer = criteria.createCriteria("containerVO");
    // subCritContainer.add(Restrictions.isNull("dewarVO"));

    if (proposalId != null) {
        Criteria subCritCrystal = criteria.createCriteria("crystalVO");
        Criteria subCritProtein = subCritCrystal.createCriteria("proteinVO");
        Criteria subsubCritProposal = subCritProtein.createCriteria("proposalVO");
        subsubCritProposal.add(Restrictions.eq("proposalId", proposalId));
        // criteria.createAlias("proposalVO", "ps");
        // criteria.add(Restrictions.eq("ps.proposalId", proposalId));
    }//  www .ja v  a2 s .com

    return criteria.list();

}

From source file:ispyb.server.mx.services.sample.BLSample3ServiceBean.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<BLSample3VO> findByProposalIdAndDewarNull(final Integer proposalId) throws Exception {

    checkCreateChangeRemoveAccess();/*  ww  w .j a v a  2 s  .c  o m*/
    Session session = (Session) this.entityManager.getDelegate();

    Criteria criteria = session.createCriteria(BLSample3VO.class);
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS !
    criteria.add(Restrictions.isNull("containerVO"));
    // Criteria subCritContainer = criteria.createCriteria("containerVO");
    // subCritContainer.add(Restrictions.isNull("dewarVO"));

    if (proposalId != null) {
        Criteria subCritCrystal = criteria.createCriteria("crystalVO");
        Criteria subCritProtein = subCritCrystal.createCriteria("proteinVO");
        Criteria subsubCritProposal = subCritProtein.createCriteria("proposalVO");
        subsubCritProposal.add(Restrictions.eq("proposalId", proposalId));
        // criteria.createAlias("proposalVO", "ps");
        // criteria.add(Restrictions.eq("ps.proposalId", proposalId));
    }

    return criteria.list();
}

From source file:ispyb.server.mx.services.sample.Crystal3ServiceBean.java

License:Open Source License

@SuppressWarnings("unchecked")
public Crystal3VO findByAcronymAndCellParam(final String acronym, final Crystal3VO currentCrystal,
        final Integer proposalId) throws Exception {

    EJBAccessTemplate template = new EJBAccessTemplate(LOG, context, this);

    List<Crystal3VO> list = (List<Crystal3VO>) template.execute(new EJBAccessCallback() {

        public Object doInEJBAccess(Object parent) throws Exception {

            Session session = (Session) entityManager.getDelegate();

            Criteria crit = session.createCriteria(Crystal3VO.class);
            crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS !

            Criteria subCrit = crit.createCriteria("proteinVO");

            if (acronym != null && !acronym.isEmpty()) {
                subCrit.add(Restrictions.like("acronym", acronym.toUpperCase()));
            }//from  w  ww.  j  a va2  s . com

            if (proposalId != null) {
                Criteria subSubCrit = subCrit.createCriteria("proposalVO");
                subSubCrit.add(Restrictions.eq("proposalId", proposalId));

            }
            if (currentCrystal.getSpaceGroup() != null) {
                if (!StringUtils.isEmpty(currentCrystal.getSpaceGroup())) {
                    crit.add(Restrictions.like("spaceGroup", currentCrystal.getSpaceGroup()));
                } else {
                    crit.add(Restrictions.isNull("spaceGroup"));
                }
            }

            if (currentCrystal.getCellA() != null) {
                crit.add(Restrictions.eq("cellA", currentCrystal.getCellA()));
            } else {
                crit.add(Restrictions.isNull("cellA"));
            }

            if (currentCrystal.getCellB() != null) {
                crit.add(Restrictions.eq("cellB", currentCrystal.getCellB()));
            } else {
                crit.add(Restrictions.isNull("cellB"));
            }
            if (currentCrystal.getCellC() != null) {
                crit.add(Restrictions.eq("cellC", currentCrystal.getCellC()));
            } else {
                crit.add(Restrictions.isNull("cellB"));
            }
            if (currentCrystal.getCellAlpha() != null) {
                crit.add(Restrictions.eq("cellAlpha", currentCrystal.getCellAlpha()));
            } else {
                crit.add(Restrictions.isNull("cellAlpha"));
            }
            if (currentCrystal.getCellBeta() != null) {
                crit.add(Restrictions.eq("cellBeta", currentCrystal.getCellBeta()));
            } else {
                crit.add(Restrictions.isNull("cellBeta"));
            }
            if (currentCrystal.getCellGamma() != null) {
                crit.add(Restrictions.eq("cellGamma", currentCrystal.getCellGamma()));
            } else {
                crit.add(Restrictions.isNull("cellGamma"));
            }
            crit.addOrder(Order.desc("crystalId"));

            List<Crystal3VO> foundEntities = crit.list();
            return foundEntities;
        }
    });

    if (list.size() > 0)
        return list.get(0);
    else
        return null;
}

From source file:it.unitn.elisco.dao.StudentDAO.java

public List<PersonBasics> findStudents(String emailLike) {
    Session s = HibernateUtil.getSession();
    Transaction tx = s.beginTransaction();

    // Fetch students:
    // - which are confirmed (confirmation_token is null)
    // - which email begins with the specified query (optional, otherwise return all students)

    Criteria criteria = s.createCriteria(Student.class);
    criteria.add(Restrictions.isNull("confirmation_token"));

    if (emailLike != null && emailLike != "") {
        criteria.add(Restrictions.like("email", emailLike, MatchMode.START));
    }/*from w w  w.j  a  va  2s .  c  o  m*/

    // Then return results as PersonBasics objects
    criteria.setProjection(Projections.projectionList().add(Projections.property("name"), "name")
            .add(Projections.property("surname"), "surname").add(Projections.property("email"), "email"));
    criteria.setResultTransformer(Transformers.aliasToBean(PersonBasics.class));

    List<PersonBasics> res = criteria.list();

    tx.commit();
    s.close();

    return res;
}

From source file:kltn.dao.ATMLocationDAO.java

public List<AtmLocation> findByFullAddressNotnull() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    List<AtmLocation> list = null;
    Transaction tx = null;//from ww  w .j  a  v a  2s  . c  om
    try {

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(AtmLocation.class);
        cr.add(Restrictions.isNotNull("fulladdress"));
        cr.add(Restrictions.isNull("district"));
        cr.addOrder(Order.asc("id"));
        list = cr.list();
        tx.commit();
    } catch (HibernateException he) {
        if (tx != null && tx.isActive()) {
            tx.rollback();
        }
    } finally {
        session.close();
    }
    return list;
}

From source file:kltn.dao.ATMLocationDAO.java

public List<AtmLocation> findByStandardlizationStatus(char standardlization) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    List<AtmLocation> list = null;
    Transaction tx = null;//from  w  ww . j a  va  2 s  .c  om
    try {

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(AtmLocation.class);
        if (standardlization != '0') {
            cr.add(Restrictions.eq("standardlization", standardlization));
            cr.addOrder(Order.asc("id"));
            list = cr.list();
        } else {
            cr.add(Restrictions.isNull("standardlization"));
            cr.addOrder(Order.asc("id"));
            list = cr.list();
        }
        tx.commit();
    } catch (HibernateException he) {
        if (tx != null && tx.isActive()) {
            tx.rollback();
        }
    } finally {
        session.close();
    }
    return list;
}

From source file:kltn.dao.ATMLocationDAO.java

public List<AtmLocation> findGeocodingList() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    List<AtmLocation> list = null;
    Transaction tx = null;//from w w w.ja v a  2s.c o m
    try {

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(AtmLocation.class);
        cr.add(Restrictions.isNull("latd"));
        cr.add(Restrictions.eq("standardlization", '1'));
        cr.addOrder(Order.asc("id"));
        list = cr.list();
        tx.commit();
    } catch (HibernateException he) {
        if (tx != null && tx.isActive()) {
            tx.rollback();
        }
    } finally {
        session.close();
    }
    return list;
}

From source file:kltn.dao.ATMLocationDAO.java

public List<AtmLocation> filter(String keyword, String province, String district, String precinct,
        Character standardStatus, Character geocodingStatus, String bank) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    List<AtmLocation> list = null;
    Transaction tx = null;/*w  w w. ja  v a  2 s  .co  m*/
    try {

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(AtmLocation.class);
        if (keyword != null && !keyword.trim().isEmpty()) {
            cr.add(Restrictions.like("fulladdress", "%" + keyword + "%").ignoreCase());
        }
        if (!province.isEmpty()) {
            cr.add(Restrictions.eq("provinceCity", province).ignoreCase());
        }
        if (!district.isEmpty()) {
            cr.add(Restrictions.eq("district", district).ignoreCase());
        }
        if (!precinct.isEmpty()) {
            cr.add(Restrictions.eq("precinct", precinct).ignoreCase());
        }
        if (standardStatus != null) {
            if (standardStatus == '0') {
                cr.add(Restrictions.isNull("standardlization"));
            } else {
                cr.add(Restrictions.eq("standardlization", standardStatus));
            }
        }
        if (geocodingStatus != null) {
            if (geocodingStatus == '0') {
                cr.add(Restrictions.isNull("latd"));
            } else if (geocodingStatus == '1') {
                cr.add(Restrictions.isNotNull("latd"));
            }
        }
        if (!bank.isEmpty()) {
            cr.add(Restrictions.eq("bank", bank).ignoreCase());
        }
        cr.addOrder(Order.asc("id"));
        list = cr.list();
        tx.commit();
    } catch (HibernateException he) {
        if (tx != null && tx.isActive()) {
            tx.rollback();
        }
    }
    return list;
}

From source file:lucee.runtime.orm.hibernate.HibernateORMSession.java

License:Open Source License

private Object load(PageContext pc, String cfcName, Struct filter, Struct options, String order, boolean unique)
        throws PageException {
    Component cfc = data.getEngine().create(pc, this, cfcName, false);
    Key dsn = KeyImpl.init(ORMUtil.getDataSourceName(pc, cfc));
    Session sess = getSession(dsn);/*from  w  ww.j  a v  a 2s.  c om*/

    String name = HibernateCaster.getEntityName(cfc);
    ClassMetadata metaData = null;

    Object rtn;
    try {
        //trans.begin();

        Criteria criteria = sess.createCriteria(name);

        // filter
        if (filter != null && !filter.isEmpty()) {
            metaData = sess.getSessionFactory().getClassMetadata(name);
            Object value;
            Entry<Key, Object> entry;
            Iterator<Entry<Key, Object>> it = filter.entryIterator();
            String colName;
            while (it.hasNext()) {
                entry = it.next();
                colName = HibernateUtil.validateColumnName(metaData, CommonUtil.toString(entry.getKey()));
                Type type = HibernateUtil.getPropertyType(metaData, colName, null);
                value = entry.getValue();
                if (!(value instanceof Component))
                    value = HibernateCaster.toSQL(type, value, null);

                if (value != null)
                    criteria.add(Restrictions.eq(colName, value));
                else
                    criteria.add(Restrictions.isNull(colName));
            }
        }

        // options
        boolean ignoreCase = false;
        if (options != null && !options.isEmpty()) {
            // ignorecase
            Boolean ignorecase = CommonUtil.toBoolean(options.get("ignorecase", null), null);
            if (ignorecase != null)
                ignoreCase = ignorecase.booleanValue();

            // offset
            int offset = CommonUtil.toIntValue(options.get("offset", null), 0);
            if (offset > 0)
                criteria.setFirstResult(offset);

            // maxResults
            int max = CommonUtil.toIntValue(options.get("maxresults", null), -1);
            if (max > -1)
                criteria.setMaxResults(max);

            // cacheable
            Boolean cacheable = CommonUtil.toBoolean(options.get("cacheable", null), null);
            if (cacheable != null)
                criteria.setCacheable(cacheable.booleanValue());

            // MUST cacheName ?

            // maxResults
            int timeout = CommonUtil.toIntValue(options.get("timeout", null), -1);
            if (timeout > -1)
                criteria.setTimeout(timeout);
        }

        // order 
        if (!Util.isEmpty(order)) {
            if (metaData == null)
                metaData = sess.getSessionFactory().getClassMetadata(name);

            String[] arr = CommonUtil.toStringArray(order, ',');
            CommonUtil.trimItems(arr);
            String[] parts;
            String col;
            boolean isDesc;
            Order _order;
            //ColumnInfo ci;
            for (int i = 0; i < arr.length; i++) {
                parts = CommonUtil.toStringArray(arr[i], " \t\n\b\r");
                CommonUtil.trimItems(parts);
                col = parts[0];

                col = HibernateUtil.validateColumnName(metaData, col);
                isDesc = false;
                if (parts.length > 1) {
                    if (parts[1].equalsIgnoreCase("desc"))
                        isDesc = true;
                    else if (!parts[1].equalsIgnoreCase("asc")) {
                        throw ExceptionUtil.createException((ORMSession) null, null,
                                "invalid order direction defintion [" + parts[1] + "]",
                                "valid values are [asc, desc]");
                    }

                }
                _order = isDesc ? Order.desc(col) : Order.asc(col);
                if (ignoreCase)
                    _order.ignoreCase();

                criteria.addOrder(_order);

            }
        }

        // execute
        if (!unique) {
            rtn = HibernateCaster.toCFML(criteria.list());
        } else {
            rtn = HibernateCaster.toCFML(criteria.uniqueResult());
        }

    } catch (Throwable t) {
        throw CommonUtil.toPageException(t);
    }

    return rtn;
}

From source file:marmar.ganaderia_fxml.hibernate.ConectorBovino.java

/**
 * This method returns a list of bovines that are not dead and that havent
 * been sold. Also it inizializes their Raze, Sale and Vacination objects.
 *
 * @return/* ww  w .  j  ava2  s  .c  o m*/
 */
public ArrayList<Bovino> getVivosyNoVendidos() {
    ArrayList<Bovino> result = null;
    Session session = HibernateConector.factory.openSession();
    Transaction tx = null;
    try {
        tx = session.beginTransaction();

        Criteria cr = session.createCriteria(Bovino.class);

        // To check if the given property is null 
        Criterion fm = Restrictions.isNull("fecha_muerte");
        Criterion v = Restrictions.isNull("venta");
        LogicalExpression andexp = Restrictions.and(fm, v);
        cr.add(andexp);

        result = (ArrayList) cr.list();

        for (Bovino b : result) {
            Hibernate.initialize(b.getRaza());
            Hibernate.initialize(b.getVenta());
            Hibernate.initialize(b.getVacunas());
            b.getVacunas().size();
        }
        tx.commit();

    } catch (HibernateException he) {
        if (tx != null) {
            tx.rollback();
        }
        System.err.println(he.getMessage());
        he.printStackTrace();
    } finally {
        session.close();
    }
    return result;
}