CascadeEntityJoinWalker.isTooManyCollections() depends on the current state of JoinWalker.associations to decide if to add the association. This causes a behavior depending on the order of the result of persister.getSubclassPropertyType() in JoinWalker.walkEntityTree() (in effect, only the first eligible association will be added.)
Unfortunately, the order of the result of persister.getSubclassPropertyType() can be random (is not fixed) in the scan process (MetadataBuildingProcess.prepare() and ScanningCoordinator.coordinateScan().)
In all, this causes a mysterious "Unable to resolve property" exception in some run config and not the others. |
|