Example usage for org.hibernate.criterion Restrictions not

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

Introduction

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

Prototype

public static Criterion not(Criterion expression) 

Source Link

Document

Return the negation of an expression

Usage

From source file:net.longfalcon.newsj.persistence.hibernate.CategoryDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Category> getForMenu(Set<Integer> userExcludedCategoryIds, Integer parentId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Category.class);
    if (!userExcludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("id", userExcludedCategoryIds)));
    }// w w w. ja v a  2  s.  co m
    criteria.add(parentId == null ? Restrictions.isNull("parentId") : Restrictions.eq("parentId", parentId));

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.MenuItemDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<MenuItem> getMenuItemsByRole(int roleId, boolean noGuestRole) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(MenuItem.class);
    criteria.add(Restrictions.le("role", roleId));
    if (noGuestRole) {
        criteria.add(Restrictions.not(Restrictions.eq("role", 0)));
    }// w w  w. j av  a  2s . co  m
    criteria.addOrder(Order.asc("ordinal"));

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public Long countByCategoriesMaxAgeAndGroup(Collection<Integer> categoryIds, Date maxAge,
        Collection<Integer> excludedCategoryIds, Long groupId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);
    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }//from w  ww.j  av a  2  s.  c  o  m
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    criteria.setProjection(Projections.rowCount());

    return (Long) criteria.uniqueResult();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Release> findByCategoriesMaxAgeAndGroup(Collection<Integer> categoryIds, Date maxAge,
        Collection<Integer> excludedCategoryIds, Long groupId, String orderByField, boolean descending,
        int offset, int pageSize) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);
    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }// w w  w .j  a v  a 2 s .co m
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    if (descending) {
        criteria.addOrder(Order.desc(orderByField));
    } else {
        criteria.addOrder(Order.asc(orderByField));
    }
    criteria.setFetchMode("category", FetchMode.JOIN);
    criteria.setFirstResult(offset).setMaxResults(pageSize);

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Long> getDistinctImdbIds(List<Integer> searchCategories, int maxAgeDays,
        List<Integer> userExCatIds) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);
    if (searchCategories != null && !searchCategories.isEmpty()) {
        criteria.add(Restrictions.in("category.id", searchCategories));
    }/*ww w. j  av a2  s  .  c  o m*/

    if (maxAgeDays > 0) {
        Date maxAge = new DateTime().minusDays(maxAgeDays).toDate();
        criteria.add(Restrictions.gt("postDate", maxAge));
    }

    if (!userExCatIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", userExCatIds)));
    }

    criteria.setProjection(Projections.distinct(Projections.property("imdbId")));

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Release> searchByCategoriesMaxAgeAndGroup(String[] searchTokens, Collection<Integer> categoryIds,
        Date maxAge, Collection<Integer> excludedCategoryIds, Long groupId, String orderByField,
        boolean descending, int offset, int pageSize) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);

    addSearchTokens(searchTokens, criteria);

    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }/*from   w ww.  j av  a2 s  .c  o  m*/
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    if (descending) {
        criteria.addOrder(Order.desc(orderByField));
    } else {
        criteria.addOrder(Order.asc(orderByField));
    }
    criteria.setFetchMode("category", FetchMode.JOIN);
    criteria.setFirstResult(offset).setMaxResults(pageSize);

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public Long searchCountByCategoriesMaxAgeAndGroup(String[] searchTokens, Collection<Integer> categoryIds,
        Date maxAge, Collection<Integer> excludedCategoryIds, Long groupId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);

    addSearchTokens(searchTokens, criteria);

    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }//from  ww  w  .j  a  v  a  2  s.co  m
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    criteria.setProjection(Projections.rowCount());

    return (Long) criteria.uniqueResult();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Release> searchByCategoriesMaxAgeAndGroup(String[] searchTokens, Long imdbId, Long rageId,
        String season, String episode, Collection<Integer> categoryIds, Date maxAge,
        Collection<Integer> excludedCategoryIds, Long groupId, String orderByField, boolean descending,
        int offset, int pageSize) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);

    addSearchTokens(searchTokens, criteria);

    if (ValidatorUtil.isNotNull(imdbId)) {
        criteria.add(Restrictions.eq("imdbId", imdbId));
    }/*from  w ww . j a  v  a2s.c o  m*/

    if (ValidatorUtil.isNotNull(rageId)) {
        criteria.add(Restrictions.eq("rageId", rageId));
    }

    if (ValidatorUtil.isNotNull(season)) {
        criteria.add(Restrictions.eq("season", season));
    }

    if (ValidatorUtil.isNotNull(episode)) {
        criteria.add(Restrictions.eq("episode", episode));
    }

    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    if (descending) {
        criteria.addOrder(Order.desc(orderByField));
    } else {
        criteria.addOrder(Order.asc(orderByField));
    }
    criteria.setFetchMode("category", FetchMode.JOIN);
    criteria.setFirstResult(offset).setMaxResults(pageSize);

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public Long searchCountByCategoriesMaxAgeAndGroup(String[] searchTokens, Long imdbId, Long rageId,
        String season, String episode, Collection<Integer> categoryIds, Date maxAge,
        Collection<Integer> excludedCategoryIds, Long groupId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);

    addSearchTokens(searchTokens, criteria);

    if (ValidatorUtil.isNotNull(imdbId)) {
        criteria.add(Restrictions.eq("imdbId", imdbId));
    }/*from   w  ww  .j a v  a 2 s .  c o m*/

    if (ValidatorUtil.isNotNull(rageId)) {
        criteria.add(Restrictions.eq("rageId", rageId));
    }

    if (ValidatorUtil.isNotNull(season)) {
        criteria.add(Restrictions.eq("season", season));
    }

    if (ValidatorUtil.isNotNull(episode)) {
        criteria.add(Restrictions.eq("episode", episode));
    }

    if (!categoryIds.isEmpty()) {
        criteria.add(Restrictions.in("category.id", categoryIds));
    }
    if (maxAge != null) {
        criteria.add(Restrictions.gt("postDate", maxAge));
    }
    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }
    if (groupId != null) {
        criteria.add(Restrictions.eq("groupId", groupId));
    }
    criteria.setProjection(Projections.rowCount());

    return (Long) criteria.uniqueResult();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Release> searchReleasesByNameExludingCats(List<String> searchTokens, int limit,
        Collection<Integer> excludedCategoryIds) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class);
    if (!searchTokens.isEmpty()) {
        Disjunction searchOr = Restrictions.disjunction();
        for (String searchToken : searchTokens) {
            searchOr.add(Restrictions.ilike("searchName", searchToken, MatchMode.ANYWHERE));
        }//from  w w  w. j  a va2  s  .com
        criteria.add(searchOr);
    }

    if (!excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds)));
    }

    criteria.setMaxResults(limit);

    return criteria.list();
}