Hallo Christian,
ja, das ist das Standardverhalten. Grund ist, dass ohne weitere Konfiguration das Flag UPDATE_PAGEREF_WHEN_ENTITY_HAS_CHANGED aktiv ist, siehe DeltaGeneration (FirstSpirit Developer-API)
Ich habe gesehen, dass dieses Flag in der Doku ausführlicher beschrieben sein könnte und dadurch vielleicht missverständlich verstanden werden kann. Insbesondere steuert es nicht, ob Änderungen an Datensätzen überhaupt berücksichtigt werden, sondern nur, wie sich eine Datensatz-Änderung auf die Erzeugung von Detailseiten auswirkt. In den ReleaseNotes zu FirstSpirit 5.2.102 gibt es allerdings eine umfangreichere Beschreibung:
Ist UPDATE_PAGEREF_WHEN_ENTITY_HAS_CHANGED gesetzt (oder sind keine
DependencyRules gesetzt), werden alle Detailseiten und die Übersichtsseite bei
einer Deltagenerierung berücksichtigt.
Ist UPDATE_PAGEREF_WHEN_ENTITY_HAS_CHANGED explizit nicht gesetzt,
werden nur die betroffene Detailseite und die Übersichtsseite bei einer
Deltagenerierung berücksichtigt.
Ich habe schon ein internes Ticket angelegt, damit die Doku entsprechend erweitert wird.
In deinem Fall müsste es also reichen, das Flag zu deaktivieren, indem du die DpendencyRules anpasst:
...
deltaGeneration = DeploymentUtil.createDeltaGeneration(context);
Set<DependencyRule> rules = DeltaGeneration.DEFAULT_DEPENDENCY_RULES;
rules.remove(DeltaGeneration.UPDATE_PAGEREF_WHEN_ENTITY_HAS_CHANGED);
deltaGeneration.dependencyRules(rules);
DeltaGeneration.ChangeSet changeSet = deltaGeneration.calculateChangeSet();
...
Das Flag wirkt grundsätzlich nur auf sog. Detailseiten, d.h. auf Seiten wo in der Seitenreferenz im Reiter "Daten" der Eintrag "Anzahl der Einträge pro Seite" den Wert "1" hat. Seitenreferenzen mit einer anderen Einstellungen für diesen Wert (0 bzw. >1) sind sog. Übersichtsseiten. Übersichtsseiten werden bei einer Änderung eines "involvierten" Datensatzes immer komplett neu erzeugt.
Viele Grüße
Michael