matrei commented on PR #15650:
URL: https://github.com/apache/grails-core/pull/15650#issuecomment-4411690967

   > this is way too risky of a change for 7.x, it should go in 8
   
   To me this looks like a bug fix for `7.0.x` if the following statements are 
true:
   
   GroovyProxyFactory:
   > Proxies created by this factory are real instances of the entity class 
with a ProxyInstanceMetaClass attached (see createProxy). The entity class 
therefore IS o.getClass() — no superclass walk needed. Walking up via 
getSuperclass() would yield java.lang.Object (entity classes typically extend 
Object directly), which then fails to resolve in 
MappingContext.getPersistentEntity(name) and breaks cascade validation.
   
   > Hibernate / SQL stacks pull Javassist transitively, so they get 
JavassistProxyFactory and never exercise the buggy code path. MongoDB and Neo4j 
do not pull Javassist, so they fall through to GroovyProxyFactory and hit the 
bug whenever a proxy reaches a constraint validator (or any other consumer of 
ProxyHandler.getProxiedClass()) before being unwrapped.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to