@Override protected FetchGroup newGroup(String name, CoreAttributeGroup parent) { FetchGroup fetchGroup = new FetchGroup(name); if(parent != null) { fetchGroup.setShouldLoad(((FetchGroup)parent).shouldLoad()); } return fetchGroup; }
@Override protected FetchGroup newGroup(String name, CoreAttributeGroup parent) { FetchGroup fetchGroup = new FetchGroup(name); if(parent != null) { fetchGroup.setShouldLoad(((FetchGroup)parent).shouldLoad()); } return fetchGroup; }
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); } }
return clone; clone = new FetchGroup(this.name);
protected Object constructObjectForId(String entityType, Object id){ FetchGroup fetchGroup = new FetchGroup(); ClassDescriptor descriptor = context.getDescriptor(entityType); List<DatabaseMapping> pkMappings = descriptor.getObjectBuilder().getPrimaryKeyMappings(); for (DatabaseMapping mapping: pkMappings){ fetchGroup.addAttribute(mapping.getAttributeName()); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(QueryHints.FETCH_GROUP, fetchGroup); properties.put(QueryHints.CACHE_USAGE, CacheUsage.CheckCacheOnly); Object entity = context.find(null, entityType, id, properties); if (entity == null){ return IdHelper.buildObjectShell(context, entityType, id); } return entity; }
protected Object constructObjectForId(String entityType, Object id){ FetchGroup fetchGroup = new FetchGroup(); ClassDescriptor descriptor = context.getDescriptor(entityType); List<DatabaseMapping> pkMappings = descriptor.getObjectBuilder().getPrimaryKeyMappings(); for (DatabaseMapping mapping: pkMappings){ fetchGroup.addAttribute(mapping.getAttributeName()); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(QueryHints.FETCH_GROUP, fetchGroup); properties.put(QueryHints.CACHE_USAGE, CacheUsage.CheckCacheOnly); Object entity = context.find(null, entityType, id, properties); if (entity == null){ return IdHelper.buildObjectShell(context, entityType, id); } return entity; }
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); }
/** * INTERNAL: * Union two fetch groups. */ public FetchGroup unionFetchGroups(FetchGroup first, FetchGroup second) { if ((first == null) || (second == null)) { return null; } //return the superset if applied if (first.isSupersetOf(second)) { return first; } else if (second.isSupersetOf(first)) { return second; } //otherwise, union two fetch groups StringBuffer unionGroupName = new StringBuffer(first.getName()); unionGroupName.append("_"); unionGroupName.append(second.getName()); FetchGroup unionFetchGroup = new FetchGroup(unionGroupName.toString()); unionFetchGroup.addAttributes(first.getAttributes()); unionFetchGroup.addAttributes(second.getAttributes()); return unionFetchGroup; }
DatabaseQuery applyToDatabaseQuery(Object valueToApply, DatabaseQuery query, ClassLoader loader, AbstractSession activeSession) { if (query.isObjectLevelReadQuery()) { FetchGroup fetchGroup = ((ObjectLevelReadQuery)query).getFetchGroup(); if (fetchGroup == null) { fetchGroup = new FetchGroup(); ((ObjectLevelReadQuery)query).setFetchGroup(fetchGroup); } fetchGroup.setShouldLoadAll((Boolean)valueToApply); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-type-for-query-hint",new Object[]{getQueryId(query), name, getPrintValue(valueToApply)})); } return query; } }
DatabaseQuery applyToDatabaseQuery(Object valueToApply, DatabaseQuery query, ClassLoader loader, AbstractSession activeSession) { if (query.isObjectLevelReadQuery()) { FetchGroup fetchGroup = ((ObjectLevelReadQuery)query).getFetchGroup(); if (fetchGroup == null) { fetchGroup = new FetchGroup(); ((ObjectLevelReadQuery)query).setFetchGroup(fetchGroup); } fetchGroup.addAttribute((String)valueToApply); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-type-for-query-hint",new Object[]{getQueryId(query), name, getPrintValue(valueToApply)})); } return query; } }
protected void initNonReferenceEntityFetchGroup() { FetchGroup nonReferenceFetchGroup = new FetchGroup(); for (DatabaseMapping mapping : getDescriptor().getMappings()) { if(!mapping.isForeignReferenceMapping()) { String name = mapping.getAttributeName(); if(this.defaultEntityFetchGroup == null || this.defaultEntityFetchGroup.containsAttribute(name)) { nonReferenceFetchGroup.addAttribute(name); } } } this.addMinimalFetchGroup(nonReferenceFetchGroup); this.nonReferenceEntityFetchGroup = getEntityFetchGroup(nonReferenceFetchGroup); }
protected void initNonReferenceEntityFetchGroup() { FetchGroup nonReferenceFetchGroup = new FetchGroup(); for (DatabaseMapping mapping : getDescriptor().getMappings()) { if(!mapping.isForeignReferenceMapping()) { String name = mapping.getAttributeName(); if(this.defaultEntityFetchGroup == null || this.defaultEntityFetchGroup.containsAttribute(name)) { nonReferenceFetchGroup.addAttribute(name); } } } this.addMinimalFetchGroup(nonReferenceFetchGroup); this.nonReferenceEntityFetchGroup = getEntityFetchGroup(nonReferenceFetchGroup); }
FetchGroup fetchGroup = new FetchGroup(); for (DatabaseMapping mapping : descriptor.getMappings()) { if (!(mapping instanceof XMLInverseReferenceMapping)) {
FetchGroup fetchGroup = new FetchGroup(); for (DatabaseMapping mapping : descriptor.getMappings()) { if (!(mapping instanceof XMLInverseReferenceMapping)) {
query.setSelectionObject(instance); query.setIsExecutionClone(true); FetchGroup simpleFetchGroup = new FetchGroup(); for (String propertyName : instance.fetchPropertiesManager().getPropertyNames()) { if (instance.isSet(propertyName)) {
query.setSelectionObject(instance); query.setIsExecutionClone(true); FetchGroup simpleFetchGroup = new FetchGroup(); for (String propertyName : instance.fetchPropertiesManager().getPropertyNames()) { if (instance.isSet(propertyName)) {
/** * INTERNAL: * Initialize the fetch groups. */ public void initialize(AbstractSession session) throws DescriptorException { if (!(Helper.classImplementsInterface(getDescriptor().getJavaClass(), ClassConstants.FetchGroupTracker_class))) { //to use fetch group, the domain class must implement FetchGroupTracker interface session.getIntegrityChecker().handleError(DescriptorException.needToImplementFetchGroupTracker(getDescriptor().getJavaClass(), getDescriptor())); } if (getDefaultFetchGroup() == null) { // Check for lazy mappings to build default fetch group. FetchGroup fetchGroup = new FetchGroup(); boolean hasLazy = false; for (DatabaseMapping mapping : getDescriptor().getMappings()) { if (mapping.isForeignReferenceMapping() || (!mapping.isLazy())) { fetchGroup.addAttribute(mapping.getAttributeName()); } else { hasLazy = true; } } if (hasLazy) { setDefaultFetchGroup(fetchGroup); } } }
FetchGroup fetchGroup = new FetchGroup();
return getNonReferenceEntityFetchGroup(); FetchGroup nonReferenceFetchGroup = new FetchGroup(); for (DatabaseMapping mapping : getDescriptor().getMappings()) { if(!mapping.isForeignReferenceMapping()) {
return getNonReferenceEntityFetchGroup(); FetchGroup nonReferenceFetchGroup = new FetchGroup(); for (DatabaseMapping mapping : getDescriptor().getMappings()) { if(!mapping.isForeignReferenceMapping()) {