title: How are parent-child aggregate relationships managed in Axon Framework
body: <p>The Axon documentation <a href="https://docs.axoniq.io/reference-guide/axon-framework/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate" rel="nofollow noreferrer">describes how to <em>create</em> a child aggregate</a> from a parent, but not how to retrieve it, or delete it (e.g. for cascading deletes)</p>
  <p>Does the parent aggregate typically-explicitly, or automatically-internally keep a list of references to the child aggregates?
  Would such references be a collection of aggregate IDs, or, to be more object oriented, a collection of actual instance references to the child aggregates?</p>
  <p>Another way to pose this question: What is different about child aggregates vs entities in multi-entity aggregates, and what is different about child aggregates vs totally independent aggregates?</p>
  <p>I want a cascading delete (containment) model between parent and child, but I want separate concurrent access to the child objects in a very large collection, hence aggregate member entities are not suitable.</p>
  <p>Also note <a href="https://discuss.axoniq.io/t/large-aggregatemember-maps-relationships/2491/4" rel="nofollow noreferrer">a similar question in the forum</a>: the OP, Jakob describes a model at the end that includes his own table managing references for cascading... do I need that?</p>