This fix prevents improper model listeners from polluting hibernate session 1st level cache.
However to achieve this goal we will have to sacrifice's hibernate's uniqueness checking feature, this will cause us losing the concurrent modification detection.
But this is a necessary evil to do, without this fix, a bad model listener will cause tricky uniqueness checking failure, it is very hard to locate the root cause,
We suppose to define a batch of rules for what model listeners can do, what they can not do. Once we rule all model listeners' behaviors, it is better to add back the hibernate's uniqueness checking.