We're updating the issue view to help you get more done. 

Reorganize how AbstractLoadPlanBuildingAssociationVisitationStrategy pushes to and pops from internal stacks

Description

1) entity, collection, composite, any fetches are created and pushed by startingAttribute() (pushed if they are IMMEDIATE/JOIN)
2) they are popped by finishingAttribute()
3) only the root EntityReturn/Collection return is pushed by startingEntity()/startingCollection() (this is unchanged)
4) only the root EntityReturn/Collection return is popped by finishingEntity()/finishingCollection()
5) AttributeFetch is added to specify a particular Fetch is a real attribute; EntityFetchImpl, CollectionFetchImpl, AnyFetchImpl will be renamed to EntityAttributeFetchImpl, CollectionAttributeFetchImpl, AnyAttributeFetchImpl and will implement AttributeFetch; CompositeAttributeFetchImpl will be added

Environment

None

Status

Assignee

Gail Badner

Reporter

Gail Badner

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Priority

Major