Example usage for org.hibernate.criterion Restrictions ilike

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

Introduction

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

Prototype

public static Criterion ilike(String propertyName, Object value) 

Source Link

Document

A case-insensitive "like" (similar to Postgres ilike operator)

Usage

From source file:br.com.webbudget.domain.model.repository.tools.MessageRepository.java

License:Open Source License

/**
 * // www  .j  ava 2 s. c o  m
 * @param sender
 * @param filter
 * @param pageRequest
 * @return 
 */
@Override
public Page<Message> listSent(User sender, String filter, PageRequest pageRequest) {

    final Criteria criteria = this.createCriteria();

    if (filter != null) {
        criteria.add(Restrictions.or(Restrictions.ilike("title", "%" + filter + "%"),
                Restrictions.ilike("content", "%" + filter + "%")));
    }

    criteria.add(Restrictions.eq("deleted", false));
    criteria.add(Restrictions.eq("sender", sender));

    // projetamos para pegar o total de paginas possiveis
    criteria.setProjection(Projections.count("id"));

    final Long totalRows = (Long) criteria.uniqueResult();

    // limpamos a projection para que a criteria seja reusada
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // paginamos
    criteria.setFirstResult(pageRequest.getFirstResult());
    criteria.setMaxResults(pageRequest.getPageSize());

    if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) {
        criteria.addOrder(Order.asc(pageRequest.getSortField()));
    } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) {
        criteria.addOrder(Order.desc(pageRequest.getSortField()));
    }

    // montamos o resultado paginado
    return new Page<>(criteria.list(), totalRows);
}

From source file:br.com.webbudget.domain.model.repository.tools.UserMessageRepository.java

License:Open Source License

/**
 * //from   www . ja v a  2s  .  c  o  m
 * @param recipient
 * @param filter
 * @param pageRequest
 * @return 
 */
@Override
public Page<UserMessage> listReceived(User recipient, String filter, PageRequest pageRequest) {

    final Criteria criteria = this.createCriteria();

    if (filter != null) {
        criteria.createAlias("message", "ms");
        criteria.add(Restrictions.or(Restrictions.ilike("ms.title", "%" + filter + "%"),
                Restrictions.ilike("ms.content", "%" + filter + "%")));
    }

    criteria.add(Restrictions.eq("deleted", false));
    criteria.add(Restrictions.eq("recipient", recipient));

    // projetamos para pegar o total de paginas possiveis
    criteria.setProjection(Projections.count("id"));

    final Long totalRows = (Long) criteria.uniqueResult();

    // limpamos a projection para que a criteria seja reusada
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // paginamos
    criteria.setFirstResult(pageRequest.getFirstResult());
    criteria.setMaxResults(pageRequest.getPageSize());

    if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) {
        criteria.addOrder(Order.asc(pageRequest.getSortField()));
    } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) {
        criteria.addOrder(Order.desc(pageRequest.getSortField()));
    }

    // montamos o resultado paginado
    return new Page<>(criteria.list(), totalRows);
}

From source file:br.com.webbudget.domain.repository.movement.MovementRepository.java

License:Open Source License

/**
 *
 * @param filter//from  ww  w.j  av a2s .c o m
 * @param paid
 * @return
 */
@Override
public List<Movement> listByFilter(String filter, Boolean paid) {

    final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass());

    if (paid != null && paid.equals(Boolean.TRUE)) {
        criteria.add(Restrictions.isNotNull("payment"));
    }

    criteria.createAlias("apportionments", "ap");
    criteria.createAlias("ap.movementClass", "mc");
    criteria.createAlias("ap.costCenter", "cc");
    criteria.createAlias("financialPeriod", "fp");

    // se conseguir castar para bigdecimal trata como um filtro
    try {
        final BigDecimal value = new BigDecimal(filter);
        criteria.add(Restrictions.or(Restrictions.eq("code", filter), Restrictions.eq("value", value),
                Restrictions.ilike("description", filter + "%"), Restrictions.ilike("mc.name", filter + "%"),
                Restrictions.ilike("cc.name", filter + "%"),
                Restrictions.ilike("fp.identification", filter + "%")));
    } catch (NumberFormatException ex) {
        criteria.add(Restrictions.or(Restrictions.eq("code", filter),
                Restrictions.ilike("description", filter + "%"), Restrictions.ilike("mc.name", filter + "%"),
                Restrictions.ilike("cc.name", filter + "%"),
                Restrictions.ilike("fp.identification", filter + "%")));
    }

    criteria.addOrder(Order.desc("inclusion"));

    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    return criteria.list();
}

From source file:co.utb.softeng.contactsapp.dao.impl.CitaDAOImpl.java

@Override
public List<Cita> getByName(String name) {
    return getSession().createCriteria(Cita.class).add(Restrictions.ilike("name", name))
            .setFetchMode("contacts", FetchMode.JOIN).list();
}

From source file:com.all.client.model.LocalModelDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Playlist> findAllUntitled() {
    List<Playlist> playlists = (List<Playlist>) hibernateTemplate.executeFind(new HibernateCallback() {
        public Object doInHibernate(Session sess) throws SQLException {
            Criteria crit = sess.createCriteria(LocalPlaylist.class);
            crit.add(Restrictions.ilike("name", "%Untitled Playlist%"));
            crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
            return crit.list();
        }/*from w  w  w.jav  a  2  s .  com*/
    });
    return playlists;
}

From source file:com.all.client.model.LocalModelDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Track> findByKeywordInName(final String keyword) {
    return (List<Track>) hibernateTemplate.executeFind(new HibernateCallback() {
        public Object doInHibernate(Session sess) throws SQLException {
            Criteria crit = sess.createCriteria(Track.class);
            crit.add(Restrictions.ilike("name", keyword));
            return crit.list();
        }/*from   ww  w  . j av a2s  .  c  o m*/
    });
}

From source file:com.aprotrain.sl.dal.dao.impl.CourseServiceImpl.java

@Override
public List<Course> search(Course course) {
    Session session = this.getSession();

    Criteria cr = session.createCriteria("FROM Course");

    cr.add(Restrictions.ilike("courseCode", course.getCourseCode()));

    List<Course> list = cr.list();
    session.close();/*from w w w . j  a  v  a  2 s  . c o m*/

    return list;
}

From source file:com.apt.facade.AdminFacade.java

public List<Admin> getAdminList(AdminFinder finder, int page, int recordPerPage) {
    List<Admin> lst = new ArrayList<>();

    Session session = null;/*  w w  w.j a  va 2 s .co m*/
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Admin.class);
        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getAdminID() != null) {
            crit.add(Restrictions.and(Restrictions.eq("adminID", finder.getAdminID())));
        }
        if (finder.getAdminName() != null) {
            crit.add(Restrictions.and(Restrictions.ilike("adminName", "%" + finder.getAdminName() + "%")));
        }
        if (finder.getStatus() != null) {
            crit.add(Restrictions.and(Restrictions.eq("status", finder.getStatus())));
        }
        crit.setFirstResult((page - 1) * recordPerPage);
        crit.setMaxResults(recordPerPage);
        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst;
}

From source file:com.apt.facade.AdminFacade.java

public int getNumberAdmin(AdminFinder finder) {
    List<Admin> lst = new ArrayList<>();

    Session session = null;/*from  w  w w. j  a  va2s . c om*/
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Admin.class);
        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getAdminID() != null) {
            crit.add(Restrictions.and(Restrictions.eq("adminID", finder.getAdminID())));
        }
        if (finder.getAdminName() != null) {
            crit.add(Restrictions.and(Restrictions.ilike("adminName", "%" + finder.getAdminName() + "%")));
        }
        if (finder.getStatus() != null) {
            crit.add(Restrictions.and(Restrictions.eq("status", finder.getStatus())));
        }
        lst = crit.list();

        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }
    return lst.size();
}

From source file:com.apt.facade.AssignmentFacade.java

public List<Assignment> getAssignmentList(AssignmentFinder finder, int page, int recordPerPage) {
    List<Assignment> lst = new ArrayList<>();

    Session session = null;//from  ww w .j ava 2  s  .co  m
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Assignment.class);

        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getAssignmentId() != null) {
            crit.add(Restrictions.and(Restrictions.eq("assignmentId", finder.getAssignmentId())));
        }
        if (finder.getAssignmentName() != null) {
            crit.add(Restrictions
                    .and(Restrictions.ilike("assignmentName", "%" + finder.getAssignmentName() + "%")));
        }
        if (finder.getBatch() != null) {
            crit.add(Restrictions.and(Restrictions.eq("batch", finder.getBatch())));
        }
        if (finder.getSubject() != null) {
            crit.add(Restrictions.and(Restrictions.eq("subject", finder.getSubject())));
        }
        if (finder.getStatus() != null) {
            crit.add(Restrictions.and(Restrictions.eq("status", finder.getStatus())));
        }
        if (finder.getStarttime() != null) {
            crit.add(Restrictions.and(Restrictions.ge("startTime", finder.getStarttime())));
        }
        if (finder.getEndtime() != null) {
            crit.add(Restrictions.and(Restrictions.le("endTime", finder.getEndtime())));
        }
        crit.setFirstResult((page - 1) * recordPerPage);
        crit.setMaxResults(recordPerPage);
        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst;
}