Description:
|
Validation of constructors of non-static inner classes fails due to the synthetic parameter inserted by the compiler in order to pass the outer class instance
.
Example
:
{code}
public class Outer { public class Inner { public Inner(@Min(5) int i) { } } } {code}
Exception:
{code}
java.lang.IllegalArgumentException: HV000062: Method public com.foo.Outer$Inner(com.foo.Outer,int) has 2 parameters, but the passed list of parameter meta data has a size of 1. at org.hibernate.validator.internal.metadata.raw.ConstrainedExecutable.<init>(ConstrainedExecutable.java:114) at org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.findExecutableMetaData(AnnotationMetaDataProvider.java:341) at org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.getMetaData(AnnotationMetaDataProvider.java:300) at org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.getConstructorMetaData(AnnotationMetaDataProvider.java:273) {code}
|