fix: calling scheduleForInsert twice #11835
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If
scheduleForInsert
was called inprePersist
hook already, thenpersistNew
need to check this case first, otherwise aORMInvalidArgumentException
will be thrown.Describing my use case:
Trying to implement some "two column polymorphism", see discusson #9928.
So I want to call a persist on an unmapped property. This works fine for most cases. But if the entity inside the unmapped property has some cascade persist to the entity carrying the unmapped property, then the
scheduleForInsert
will be called twice. Once for the cascading inside the hook and later on thepersistNew
which called the hook at first. You may see the use case on the provided functional test.