Firstly, Axon does support Aggregate hierarchy, through polymorphism.
Granted, it has been introduced in Axon 4.3, so it is a rather recent introduction.
Alongside that, I feel that from the snippets you’ve shared it only comes natural that the ExerciseFramework gives you a NullPointerException.
You are doing event sourcing, as shown through the @EventSourcingHandler annotated functions.
None of your event sourcing handlers, the methods in charge of creating the state of the EstablishmentAggregate, ever set the ExerciseFramework.
Due to this, it’s null, causing the exception you are seeing.
Note that @Order does not do anything when event sourcing. The events are simply handled in the order they are stored.
Trusting this helps you further Aymen!
PS. It is important to note that this mailing list will be discontinued as specified in this thread.
The thread also specifies where to look further for help when it comes to Axon once this list is closed.