[axonframework] Modeling aggregates - go for separate ones or one bigger?


there is a third option. You can have them as separate aggregates, even without a Domain Service. A questionnaire can reference an Event (this aggregate name will definitely lead to a decent amount of confusion :wink: ). This would primarily reflect in the query model. In the fields of the Event (aggregate) itself, you don’t have to see it. The same would apply for Survey.

You asked: “So how should I reference Survey and Questionnaire, having only EventId at the time?” If you don’t have the aggregate ID, there is only one way to obtain it: do a query. That’s what the query model is for.

Hope this helps.