protected JpaQuery buildJPAQuery(String queryString, Class<T> resultClass) { boolean useJPQLCache = true; View view = views.isEmpty() ? null : views.get(0); if (view != null) { boolean useFetchGroup = view.loadPartialEntities(); for (View it : views) { FetchGroupDescription description = fetchGroupMgr.calculateFetchGroup(queryString, it, singleResultExpected, useFetchGroup); if (description.hasBatches()) { useJPQLCache = false; break; } } } if (!useJPQLCache) { CubaUtil.setEnabledJPQLParseCache(false); } try { if (resultClass != null) { return (JpaQuery) emDelegate.createQuery(queryString, resultClass); } else { return (JpaQuery) emDelegate.createQuery(queryString); } } finally { CubaUtil.setEnabledJPQLParseCache(true); } }
public void setView(JpaQuery query, String queryString, @Nullable View view, boolean singleResultExpected) { Preconditions.checkNotNullArgument(query, "query is null"); if (view != null) { AttributeGroup ag = view.loadPartialEntities() ? new FetchGroup() : new LoadGroup(); applyView(query, queryString, ag, view, singleResultExpected); } else { query.setHint(QueryHints.FETCH_GROUP, null); } }
public void addView(JpaQuery query, String queryString, View view, boolean singleResultExpected) { Preconditions.checkNotNullArgument(query, "query is null"); Preconditions.checkNotNullArgument(view, "view is null"); Map<String, Object> hints = query.getHints(); AttributeGroup ag = null; if (view.loadPartialEntities()) { if (hints != null) ag = (FetchGroup) hints.get(QueryHints.FETCH_GROUP); if (ag == null) ag = new FetchGroup(); } else { if (hints != null) ag = (LoadGroup) hints.get(QueryHints.LOAD_GROUP); if (ag == null) ag = new LoadGroup(); } applyView(query, queryString, ag, view, singleResultExpected); }
if (view != null && !view.loadPartialEntities()) { query.setFlushMode(FlushModeType.AUTO); } else {