List of usage examples for org.hibernate.criterion DetachedCriteria setFetchMode
public DetachedCriteria setFetchMode(String associationPath, FetchMode mode)
From source file:sernet.verinice.service.commands.LoadCnAElementByEntityTypeId.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w. ja v a2 s . co m*/ public void execute() { IBaseDao<? extends CnATreeElement, Serializable> dao = getDaoFactory().getDAO(CnATreeElement.class); DetachedCriteria crit = DetachedCriteria.forClass(CnATreeElement.class); crit.setFetchMode("entity", FetchMode.JOIN); crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN); crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN); crit.add(Restrictions.eq("objectType", typeId)); if (scopeId != null) { crit.add(Restrictions.eq("scopeId", scopeId)); } if (groupId != null) { crit.add(Restrictions.eq("parentId", groupId)); } crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); list = dao.findByCriteria(crit); }
From source file:sernet.verinice.service.commands.LoadCnAElementByExternalID.java
License:Open Source License
@Override public void execute() { IBaseDao<CnATreeElement, Serializable> dao = getDaoFactory().getDAO(CnATreeElement.class); DetachedCriteria criteria = DetachedCriteria.forClass(CnATreeElement.class); criteria.add(Restrictions.eq("sourceId", sourceID)); criteria.add(Restrictions.eq("extId", id)); criteria.setFetchMode("children", FetchMode.JOIN); if (fetchLinksDown) { criteria.setFetchMode("linksDown", FetchMode.JOIN); criteria.setFetchMode("linksDown.dependency", FetchMode.JOIN); }/*from w ww. j a va 2 s . com*/ if (fetchLinksUp) { criteria.setFetchMode("linksUp", FetchMode.JOIN); criteria.setFetchMode("linksUp.dependant", FetchMode.JOIN); } if (parent) { criteria.setFetchMode("parent", FetchMode.JOIN); criteria.setFetchMode("parent.permissions", FetchMode.JOIN); } if (properties) { criteria.setFetchMode("entity", FetchMode.JOIN); criteria.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN); criteria.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN); } criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); list = dao.findByCriteria(criteria); }
From source file:sernet.verinice.service.XmlRightsService.java
License:Open Source License
private void loadUserAndGroupNames(String username) { Integer scopeId = getConfigurationService().getScopeId(username); String hql = "from CnATreeElement c " + //$NON-NLS-1$ "where c.scopeId = ? " + //$NON-NLS-1$ "and (c.objectType = ? or c.objectType = ?)"; //$NON-NLS-1$ Object[] params = new Object[] { scopeId, PersonIso.TYPE_ID, Person.TYPE_ID }; List<CnATreeElement> elementList = getPropertyDao().findByQuery(hql, params); Object[] idList = new Object[elementList.size()]; int i = 0;//from www .j ava 2s .co m for (CnATreeElement person : elementList) { idList[i] = person.getDbId(); i++; } DetachedCriteria crit = DetachedCriteria.forClass(Configuration.class); crit.setFetchMode("entity", FetchMode.JOIN); //$NON-NLS-1$ crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN); //$NON-NLS-1$ crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN); //$NON-NLS-1$ crit.setFetchMode("person", FetchMode.JOIN); //$NON-NLS-1$ crit.add(Restrictions.in("person.id", idList)); //$NON-NLS-1$ crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); List<Configuration> confList = getPropertyDao().findByCriteria(crit); Set<String> usernameList = new HashSet<String>(confList.size()); Set<String> groupnameList = new HashSet<String>(confList.size()); for (Configuration configuration : confList) { if (configuration.getUser() != null && !configuration.getUser().trim().isEmpty()) { usernameList.add(configuration.getUser()); } groupnameList.addAll(configuration.getRoles()); } this.usernameMap.put(username, new ArrayList<String>(usernameList)); this.groupnameMap.put(username, new ArrayList<String>(groupnameList)); }