Example usage for org.hibernate Criteria setFetchMode

List of usage examples for org.hibernate Criteria setFetchMode

Introduction

In this page you can find the example usage for org.hibernate Criteria setFetchMode.

Prototype

public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException;

Source Link

Document

Specify an association fetching strategy for an association or a collection of values.

Usage

From source file:net.firejack.platform.core.store.user.BasicUserProfileFieldStore.java

License:Apache License

@Override
public UserProfileFieldModel findById(final Long id, final boolean loadGroup) {
    return getHibernateTemplate().execute(new HibernateCallback<UserProfileFieldModel>() {
        @Override/*  www  .j  a va2  s  .  c o m*/
        public UserProfileFieldModel doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(UserProfileFieldModel.class);
            if (loadGroup) {
                criteria.setFetchMode("", FetchMode.JOIN);
            }
            criteria.add(Restrictions.eq("id", id));
            return (UserProfileFieldModel) criteria.uniqueResult();
        }
    });
}

From source file:net.firejack.platform.core.store.user.BasicUserProfileFieldStore.java

License:Apache License

@Override
@Transactional(readOnly = true)//from w  w  w  .j a v a2  s .  com
public UserProfileFieldModel findByUID(String uid) {
    Criteria criteria = getSession().createCriteria(UserProfileFieldModel.class);
    criteria.createAlias("uid", "uid");
    criteria.add(Restrictions.eq("uid.uid", uid));
    criteria.setFetchMode("userProfileFieldGroup", FetchMode.JOIN);
    return (UserProfileFieldModel) criteria.uniqueResult();
}

From source file:net.firejack.platform.core.store.user.BasicUserRoleStore.java

License:Apache License

@Override
@Transactional(readOnly = true)/*www  .ja va2  s  . c  o m*/
public Map<SecuredRecordModel, List<UserRoleModel>> findAllContextRolesBySecuredRecords() {
    final UserRoleModel example = this.instantiate();
    @SuppressWarnings("unchecked")
    List<UserRoleModel> securedRecordUserRoles = getHibernateTemplate()
            .execute(new HibernateCallback<List<UserRoleModel>>() {
                @Override
                public List<UserRoleModel> doInHibernate(Session session)
                        throws HibernateException, SQLException {
                    Criteria criteria = session.createCriteria(example.getClass());
                    criteria.setFetchMode("role", FetchMode.JOIN);
                    criteria.add(Restrictions.isNotNull("securedRecord"));
                    return (List<UserRoleModel>) criteria.list();
                }
            });
    Map<SecuredRecordModel, List<UserRoleModel>> result = new HashMap<SecuredRecordModel, List<UserRoleModel>>();
    if (securedRecordUserRoles != null) {
        for (UserRoleModel securedRecordUserRole : securedRecordUserRoles) {
            SecuredRecordModel securedRecord = securedRecordUserRole.getSecuredRecord();

            List<UserRoleModel> contextRoles = result.get(securedRecord);
            if (contextRoles == null) {
                contextRoles = new ArrayList<UserRoleModel>();
                result.put(securedRecord, contextRoles);
            }
            contextRoles.add(securedRecordUserRole);

            Hibernate.initialize(securedRecordUserRole.getSecuredRecord());
            Hibernate.initialize(securedRecordUserRole.getRole().getPermissions());
            for (PermissionModel permission : securedRecordUserRole.getRole().getPermissions()) {
                Hibernate.initialize(permission);
            }
        }
    }
    return result;
}

From source file:net.firejack.platform.core.store.user.BasicUserRoleStore.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from w ww .j  a va  2 s.  c om
public List<UserRoleModel> findAllContextRolesNotBoundToSecuredRecord() {
    final UserRoleModel example = this.instantiate();
    List<UserRoleModel> roleList = getHibernateTemplate().execute(new HibernateCallback<List<UserRoleModel>>() {
        @Override
        public List<UserRoleModel> doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(example.getClass());
            criteria.setFetchMode("role", FetchMode.JOIN);
            criteria.add(Restrictions.isNull("securedRecord"));
            return (List<UserRoleModel>) criteria.list();
        }
    });
    List<UserRoleModel> result = new ArrayList<UserRoleModel>();
    for (UserRoleModel userRole : roleList) {
        if (userRole.getRole().getParent().getType() == RegistryNodeType.ENTITY) {
            result.add(userRole);
        }
    }
    for (UserRoleModel userRole : result) {
        List<PermissionModel> permissions = userRole.getRole().getPermissions();
        Hibernate.initialize(permissions);
        for (PermissionModel permission : permissions) {
            Hibernate.initialize(permission);
        }
    }
    return result;
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Binary> searchByNameAndExcludedCats(String[] searchTokens, int limit,
        Collection<Integer> excludedCategoryIds) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Binary.class);

    if (searchTokens != null && searchTokens.length > 0) {
        Conjunction searchTokensOr = Restrictions.conjunction();
        for (String searchToken : searchTokens) {
            searchTokensOr.add(Restrictions.ilike("name", searchToken.trim(), MatchMode.ANYWHERE));
        }/*from w  w w  .j  a v a 2  s  .co m*/
        criteria.add(searchTokensOr);
    }

    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("categoryId", excludedCategoryIds)));
    }

    criteria.setMaxResults(limit);
    criteria.setFetchMode("releaseGuid", FetchMode.EAGER);
    criteria.setFetchMode("numberParts", FetchMode.EAGER);
    criteria.setFetchMode("groupName", FetchMode.EAGER);

    return criteria.list();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Group> getGroups(int start, int pageSize) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Group.class);
    criteria.setFirstResult(start).setMaxResults(pageSize);
    criteria.setFetchMode("releases", FetchMode.JOIN);

    return criteria.list();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Group> getGroups(int start, int pageSize, String orderByField, boolean descending) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Group.class);
    criteria.setFirstResult(start).setMaxResults(pageSize);
    if (descending) {
        criteria.addOrder(Order.desc(orderByField));
    } else {/*w w w  . ja  v  a 2s .c  om*/
        criteria.addOrder(Order.asc(orderByField));
    }
    criteria.setFetchMode("releases", FetchMode.JOIN);

    return criteria.list();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public ReleaseComment findByReleaseCommentId(long id) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ReleaseComment.class);
    criteria.add(Restrictions.eq("id", id));
    criteria.setFetchMode("user", FetchMode.JOIN);
    criteria.setFetchMode("release", FetchMode.JOIN);

    return (ReleaseComment) criteria.uniqueResult();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<ReleaseComment> findByReleaseId(long releaseId) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ReleaseComment.class);
    criteria.add(Restrictions.eq("release.id", releaseId));
    criteria.setFetchMode("user", FetchMode.JOIN);
    criteria.setFetchMode("release", FetchMode.JOIN);
    criteria.addOrder(Order.desc("createDate"));

    return criteria.list();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<ReleaseComment> getReleaseComments(int start, int pageSize) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ReleaseComment.class);
    criteria.setFirstResult(start).setMaxResults(pageSize);
    criteria.setFetchMode("user", FetchMode.JOIN);
    criteria.setFetchMode("release", FetchMode.JOIN);

    return criteria.list();
}