Jira issue originally created by user realmfoo:
For example, if I call computeChangeSets() by myself before calling flush() it will result in errors.
Comment created by @beberlei:
The API is marked as internal.
Comment created by realmfoo:
Method computeChangeSets is not marked as internal (https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/UnitOfWork.php#L500).
If it is then how can I find out was entity changed or not? I need to know it before making other changes (update time, updater name and etc.).
Another example of using computeAssociationChanges via computeChangeSet described here:
So I can't use this example because of the problem with collections. onFlush rises AFTER computeChangeSets and BEFORE any changes, so if I call computeChangeSets inside onFlush event it will break commit (twice insert of equal index).
The documentation was a bit unclear about this.
The computeChangeSet API is internal. Its only allowed to be called for new entities after they have been persisted inside the onFlush.
You can use "getEntityChangeSet()" inside preUpdate for example to get all the changes that are done.
Issue was closed with resolution "Invalid"