List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria
public Criteria getExecutableCriteria(Session session)
From source file:com.zhima.base.dao.BaseDao.java
License:Open Source License
/** * /*from w w w . j a v a2s . c om*/ * * @param detachedCriteria * @param resultTransformer * @return */ @Transactional(readOnly = true) @SuppressWarnings("unchecked") public List<T> find(DetachedCriteria detachedCriteria, ResultTransformer resultTransformer) { Criteria criteria = detachedCriteria.getExecutableCriteria(getSession()); criteria.setResultTransformer(resultTransformer); return criteria.list(); }
From source file:com.zhima.base.dao.BaseDao.java
License:Open Source License
/** * // w w w . j a v a 2s. c om * * @param detachedCriteria * @return */ @Transactional(readOnly = true) @SuppressWarnings("rawtypes") public long count(DetachedCriteria detachedCriteria) { Criteria criteria = detachedCriteria.getExecutableCriteria(getSession()); long totalCount = 0; try { // Get orders Field field = CriteriaImpl.class.getDeclaredField("orderEntries"); field.setAccessible(true); List orderEntrys = (List) field.get(criteria); // Remove orders field.set(criteria, new ArrayList()); // Get count criteria.setProjection(Projections.rowCount()); totalCount = Long.valueOf(criteria.uniqueResult().toString()); // Clean count criteria.setProjection(null); // Restore orders field.set(criteria, orderEntrys); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return totalCount; }
From source file:de.hotware.hibernate.query.intelligent.searcher.SearcherImpl.java
License:Open Source License
@Override public SearchResult search(U queryBean, FullTextSession fullTextSession, String profile) { fullTextSession.setFlushMode(FlushMode.MANUAL); SearchFactory searchFactory = fullTextSession.getSearchFactory(); QueryBuilder queryBuilder;/* ww w.ja va2 s .co m*/ { QueryContextBuilder queryContextBuilder = searchFactory.buildQueryBuilder(); EntityContext entityContext = queryContextBuilder.forEntity(this.indexedClass); queryBuilder = entityContext.get(); } @SuppressWarnings("rawtypes") BooleanJunction<BooleanJunction> mainJunction = queryBuilder.bool(); Query hierarchicalQuery = this.hierarchies.get(profile); if (hierarchicalQuery == null) { throw new IllegalArgumentException("profile " + profile + " not available!"); } hierarchicalQuery.constructQuery(mainJunction, queryBuilder, queryBean, cachedInfo, searchFactory); // apply the custom query mainJunction = queryBean.customQuery(mainJunction, queryBuilder); final FullTextQuery query = fullTextSession.createFullTextQuery(mainJunction.createQuery(), this.indexedClass); // apply the filters if (queryBean.getFilters() != null) { for (String filter : queryBean.getFilters()) { FullTextFilter fullTextFilter = query.enableFullTextFilter(filter); Set<QueryBean.FilterParameter> filterParameters = queryBean.getFilterParameters().get(filter); if (filterParameters != null) { for (QueryBean.FilterParameter parameter : filterParameters) { fullTextFilter.setParameter(parameter.key, parameter.value); } } } } // apply the custom sort (if available) if (queryBean.getSort() != null) { query.setSort(queryBean.getSort()); } { DetachedCriteria criteria = queryBean.getCriteriaForFetchModes(); if (criteria != null) { query.setCriteriaQuery(criteria.getExecutableCriteria(fullTextSession)); } } // faceting final Map<String, FacetingRequest> faceting = queryBean.getFaceting(queryBuilder); final Map<String, List<Facet>> facets = new HashMap<>(); if (faceting != null) { FacetManager facetManager = query.getFacetManager(); for (FacetingRequest request : faceting.values()) { facetManager.enableFaceting(request); } for (String name : faceting.keySet()) { facets.put(name, facetManager.getFacets(name)); } } return new SearchResult() { @Override public FullTextQuery getFullTextQuery() { return query; } @Override public Map<String, List<Facet>> getFacets() { return facets; } }; }
From source file:debop4k.data.orm.hibernate.CriteriaEx.java
License:Apache License
public static Criteria getExecutableCriteria(Session session, DetachedCriteria dc) { return dc.getExecutableCriteria(session); }
From source file:debop4k.data.orm.hibernate.dao.HibernateAsyncDao.java
License:Apache License
/** * ? ? Criteria#uniqueResult ./*from www . ja v a 2s . c om*/ */ public <T> Promise<T, Exception> uniqueResultAsync(@NonNull final DetachedCriteria dc) { return Asyncx.future(new Callable<T>() { @Override public T call() throws Exception { Session sess = getSf().openSession(); try { return (T) dc.getExecutableCriteria(sess).uniqueResult(); } finally { sess.close(); } } }); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public ScrollableResults scroll(@NonNull DetachedCriteria dc) { return dc.getExecutableCriteria(session()).scroll(); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public ScrollableResults scroll(@NonNull DetachedCriteria dc, ScrollMode scrollMode) { return dc.getExecutableCriteria(session()).scroll(scrollMode); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public List find(@NonNull DetachedCriteria dc, Order... orders) { return find(dc.getExecutableCriteria(session()), orders); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public List find(@NonNull DetachedCriteria dc, Pageable pageable) { return find(dc.getExecutableCriteria(session()), pageable); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public List find(@NonNull DetachedCriteria dc, int firstResult, int maxResults, Order... orders) { return find(dc.getExecutableCriteria(session()), firstResult, maxResults, orders); }