List of usage examples for org.hibernate Criteria setFetchMode
public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException;
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(); }