/** * Initializes metadata overrides. Needed to store the metadata for the remote query * proxies that have no access to the actual query. */ public void initMetadata(QueryMetadata metadata) { if (metadata != null) { this.overrideMetadata = new BaseQueryMetadata(); this.overrideMetadata.copyFromInfo(metadata); } else { this.overrideMetadata = null; } }
/** * Adds all prefetches from a provided collection. * * @since 1.2 */ void addPrefetches(Collection<String> prefetches, int semantics) { if (prefetches != null) { for (String prefetch : prefetches) { addPrefetch(prefetch, semantics); } } }
/** * @since 1.2 */ public void setPrefetchTree(PrefetchTreeNode prefetchTree) { selectInfo.setPrefetchTree(prefetchTree); }
/** * Returns default select parameters. * * @since 1.2 */ public QueryMetadata getMetaData(EntityResolver resolver) { BaseQueryMetadata md = new BaseQueryMetadata(); md.resolve(getRoot(), resolver, getName()); return md; }
/** * @since 1.2 */ public QueryMetadata getMetaData(EntityResolver resolver) { selectInfo.resolve(root, resolver, getName()); return selectInfo; }
@Override void copyFromInfo(QueryMetadata info) { procedure = null; super.copyFromInfo(info); }
boolean resolve(Object root, EntityResolver resolver, SelectQuery<?> query) { if (super.resolve(root, resolver, null)) { // generate unique cache key, but only if we are caching.. if (cacheStrategy != null && cacheStrategy != QueryCacheStrategy.NO_CACHE) { this.cacheKey = makeCacheKey(query, resolver); } resolveAutoAliases(query); buildResultSetMappingForColumns(query, resolver); isSingleResultSetMapping = query.canReturnScalarValue() && super.isSingleResultSetMapping(); return true; } return false; }
public QueryMetadata getMetaData(EntityResolver resolver) { return new BaseQueryMetadata(); }
/** * Clears all stored prefetch paths. */ public void clearPrefetches() { selectInfo.clearPrefetches(); }
void setPrefetchTree(PrefetchTreeNode prefetchTree) { this.prefetchTree = prefetchTree != null ? deepClone(prefetchTree, null) : null; }
/** * Adds all prefetches to the internal prefetch set. * * @deprecated since 1.2 */ public void addPrefetches(Collection prefetches) { selectInfo.addPrefetches(prefetches, PrefetchTreeNode.UNDEFINED_SEMANTICS); }
selectInfo.encodeAsXML(encoder);
/** * @since 4.0 */ public String getCacheGroup() { return getBaseMetaData().getCacheGroup(); }
/** * Returns default select parameters. * * @since 1.2 */ public QueryMetadata getMetaData(EntityResolver resolver) { BaseQueryMetadata md = new BaseQueryMetadata(); md.resolve(getRoot(), resolver, getName()); return md; }
void resolve(Object root, Object resultRoot, EntityResolver resolver, String cacheKey) { if (super.resolve(resultRoot, resolver, cacheKey)) { procedure = null; if (root != null) { if (root instanceof String) { this.procedure = resolver.lookupProcedure((String) root); } else if (root instanceof Procedure) { this.procedure = (Procedure) root; } // theoretically procedure can be in one DataMap, while the Java Class // - in another. if (this.procedure != null && this.dataMap == null) { this.dataMap = procedure.getDataMap(); } } } } }
void copyFromInfo(QueryMetadata info) { procedure = null; super.copyFromInfo(info); }
/** * Clears all prefetches. * * @since 1.2 */ public void clearPrefetches() { selectInfo.clearPrefetches(); } }
private PrefetchTreeNode deepClone(PrefetchTreeNode source, PrefetchTreeNode targetParent) { PrefetchTreeNode target = new PrefetchTreeNode(targetParent, source.getName()); target.setEjbqlPathEntityId(source.getEjbqlPathEntityId()); target.setEntityName(source.getEntityName()); target.setPhantom(source.isPhantom()); target.setSemantics(source.getSemantics()); for (PrefetchTreeNode child : source.getChildren()) { target.addChild(deepClone(child, target)); } return target; }
/** * Adds all prefetches from a provided collection. * * @since 1.2 */ public void addPrefetches(Collection prefetches) { selectInfo.addPrefetches(prefetches, PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS); }
selectInfo.encodeAsXML(encoder);