List of usage examples for org.hibernate Criteria setFetchMode
public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException;
From source file:main.java.info.jtrac.hibernate.HibernateJtracDao.java
License:Apache License
public List<AbstractItem> findAllItems() { // return getHibernateTemplate().loadAll(AbstractItem.class); return (List<AbstractItem>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) { Criteria criteria = session.createCriteria(AbstractItem.class); criteria.setFetchMode("space", FetchMode.JOIN); return criteria.list(); }/*from w w w . j a va 2 s . c o m*/ }); }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
@SuppressWarnings("unchecked") public <ES> List<ES> findWithFilter(final List<Criterion> criterions, final Map<String, String> aliases, final Projection projection, final List<String> fetchPaths, final Class<ES> projectionClazz, final SpecifiedIdsFilter filter, final Paging paging) { return getHibernateTemplate().execute(new HibernateCallback<List<ES>>() { public List<ES> doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = createCriteriaForFilter(session, filter); if (paging != null) { if (paging.getLimit() != null && paging.getLimit() > -1) { criteria.setMaxResults(paging.getLimit()); }/*from w w w . ja va2s .c o m*/ if (paging.getOffset() != null && paging.getOffset() > -1) { criteria.setFirstResult(paging.getOffset()); } List<SortField> sortFields = paging.getSortFields(); if (sortFields != null && sortFields.size() > 0) { for (SortField sortField : sortFields) { if (StringUtils.isNotBlank(sortField.getSortColumn())) { SortOrder sortDirection = sortField.getSortDirection(); Order order = sortDirection == null || sortDirection == SortOrder.ASC ? Order.asc(sortField.getSortColumn()) : Order.desc(sortField.getSortColumn()); criteria.addOrder(order); } } } } if (aliases != null && !aliases.isEmpty()) { for (Map.Entry<String, String> alias : aliases.entrySet()) { criteria.createAlias(alias.getKey(), alias.getValue(), CriteriaSpecification.LEFT_JOIN); } } if (criterions != null && !criterions.isEmpty()) { for (Criterion restrictions : criterions) { criteria.add(restrictions); } } if (projection != null) { criteria.setProjection(projection); } if (projectionClazz != null) { ResultTransformer transformer = Transformers.aliasToBean(projectionClazz); criteria.setResultTransformer(transformer); } else { criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); } if (fetchPaths != null) { for (String fetchPath : fetchPaths) { criteria.setFetchMode(fetchPath, FetchMode.JOIN); } } return (List<ES>) criteria.list(); } }); }
From source file:net.firejack.platform.core.store.BaseStore.java
License:Apache License
public <ES> List<ES> findAllWithFilter(final Integer offset, final Integer limit, final List<Criterion> criterions, final Map<String, String> aliases, final SpecifiedIdsFilter filter, final Projection projection, final Class<ES> projectionClazz, final List<String> fetchPaths, final Order... orders) { return getHibernateTemplate().execute(new HibernateCallback<List<ES>>() { public List<ES> doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = createCriteriaForFilter(session, filter); if (limit != null && limit > -1) { criteria.setMaxResults(limit); }/*from w w w .j a v a 2s. co m*/ if (offset != null && offset > -1) { criteria.setFirstResult(offset); } if (aliases != null && !aliases.isEmpty()) { for (Map.Entry<String, String> alias : aliases.entrySet()) { criteria.createAlias(alias.getKey(), alias.getValue(), CriteriaSpecification.LEFT_JOIN); } } if (criterions != null && !criterions.isEmpty()) { for (Criterion restrictions : criterions) { criteria.add(restrictions); } } if (projection != null) { criteria.setProjection(projection); } if (projectionClazz != null) { ResultTransformer transformer = Transformers.aliasToBean(projectionClazz); criteria.setResultTransformer(transformer); } else { criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); } if (fetchPaths != null) { for (String fetchPath : fetchPaths) { criteria.setFetchMode(fetchPath, FetchMode.JOIN); } } if (orders != null) { for (Order order : orders) { if (order != null) { criteria.addOrder(order); } } } return (List<ES>) criteria.list(); } }); }
From source file:net.firejack.platform.core.store.BaseStore.java
License:Apache License
protected Criteria createCriteriaForFilter(Session session, SpecifiedIdsFilter filter) { Criteria criteria = session.createCriteria(getClazz()); criteria.setFetchMode("parent", FetchMode.JOIN); if (filter != null) { if (filter.getAll() == Boolean.TRUE) { if (!filter.getUnnecessaryIds().isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds()))); }//from w ww . j a v a2s.c o m } else { if (!filter.getNecessaryIds().isEmpty()) { criteria.add(Restrictions.in("id", filter.getNecessaryIds())); } } } return criteria; }
From source file:net.firejack.platform.core.store.BaseTreeStore.java
License:Apache License
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)//from ww w . j av a2 s . c o m public List<O> findEntriesByParentId(final TreeEntityModel parent, Integer offset, Integer limit) { return getHibernateTemplate().executeFind(new HibernateCallback<List<O>>() { @Override public List<O> doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(getClazz()); criteria.setFetchMode("uid", FetchMode.JOIN); criteria.add(Restrictions.eq("parent.id", parent.getId())); return (List<O>) criteria.list(); } }); }
From source file:net.firejack.platform.core.store.bi.BIReportStore.java
License:Apache License
@Override @Transactional(readOnly = true)/*from www .j a va 2s. co m*/ public BIReportModel findByLookup(final String lookup) { return getHibernateTemplate().execute(new HibernateCallback<BIReportModel>() { public BIReportModel doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(getClazz()); criteria.add(Restrictions.eq("lookup", lookup)); criteria.setFetchMode("fields", FetchMode.JOIN); return (BIReportModel) criteria.uniqueResult(); } }); }
From source file:net.firejack.platform.core.store.lookup.LookupStore.java
License:Apache License
@Override @Transactional(readOnly = true)// w ww . j a v a2 s . com public E findByLookup(final String lookup, final boolean withParent) { return getHibernateTemplate().execute(new HibernateCallback<E>() { public E doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(getClazz()); criteria.add(Restrictions.eq("lookup", lookup)); if (withParent) { criteria.setFetchMode("parent", FetchMode.JOIN); } return (E) criteria.uniqueResult(); } }); }
From source file:net.firejack.platform.core.store.process.CaseActionStore.java
License:Apache License
/** * @param caseId - case ID to search by/* w w w. ja v a 2s . c o m*/ * @return * @see ICaseActionStore#findAllByCase(java.lang.Long) */ @Override @Transactional(readOnly = true) public List<CaseActionModel> findAllByCase(Long caseId) { Criteria criteria = getSession().createCriteria(CaseActionModel.class); criteria = criteria.createAlias("case", "pc"); criteria = criteria.createAlias("pc.assignee", "assignee"); criteria.add(Restrictions.eq("pc.id", caseId)); criteria.setFetchMode("caseExplanation", FetchMode.JOIN); criteria.setFetchMode("caseNote", FetchMode.JOIN); criteria.setFetchMode("user", FetchMode.JOIN); criteria.addOrder(Order.asc("performedOn")); return (List<CaseActionModel>) criteria.list(); }
From source file:net.firejack.platform.core.store.process.CaseNoteStore.java
License:Apache License
@Override @Transactional(readOnly = true)//from w ww .j ava 2 s .co m public List<CaseNoteModel> findByCaseIdAndSearchTerm(final Long caseId, String term) { final List<Criterion> criterions = termCriterion(term); List<CaseNoteModel> caseNotes = getHibernateTemplate() .execute(new HibernateCallback<List<CaseNoteModel>>() { @Override public List<CaseNoteModel> doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(CaseNoteModel.class); for (Criterion restrictions : criterions) { criteria.add(restrictions); } criteria.createAlias("processCase", "case"); Criterion taskCriterion = Restrictions.eq("case.id", caseId); criteria.add(taskCriterion); criteria.setFetchMode("user", FetchMode.JOIN); return criteria.list(); } }); return caseNotes; }
From source file:net.firejack.platform.core.store.process.CaseNoteStore.java
License:Apache License
@Override @Transactional(readOnly = true)/*from ww w. j ava2s.com*/ public List<CaseNoteModel> findByCaseObjectAndSearchTerm(final Long entityId, final String entityType, String term) { final List<Criterion> criterions = termCriterion(term); List<CaseNoteModel> caseNotes = getHibernateTemplate() .execute(new HibernateCallback<List<CaseNoteModel>>() { @Override public List<CaseNoteModel> doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(CaseNoteModel.class); for (Criterion restrictions : criterions) { criteria.add(restrictions); } criteria.createAlias("processCase", "case"); criteria.createAlias("case.caseObjectModels", "caseObject"); Criterion entityIdCriterion = Restrictions.eq("caseObject.entityId", entityId); Criterion entityTypeCriterion = Restrictions.eq("caseObject.entityType", entityType); criteria.add(entityIdCriterion); criteria.add(entityTypeCriterion); criteria.setFetchMode("user", FetchMode.JOIN); return criteria.list(); } }); return caseNotes; }