[hibernate-issues] [Hibernate-JIRA] Created: (HV-430) XML configuration does not allow configuration of public fields in superclass
Hardy Ferentschik (JIRA)
noreply at atlassian.com
Tue Feb 8 06:52:05 EST 2011
XML configuration does not allow configuration of public fields in superclass
-----------------------------------------------------------------------------
Key: HV-430
URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-430
Project: Hibernate Validator
Issue Type: Bug
Components: engine
Affects Versions: 4.2.0.Beta1
Reporter: Hardy Ferentschik
Fix For: 4.2.0.CR1
The following will not work at the moment, even though the field _foo_ is public in class _A_. You will get an exception:
{noformat}
javax.validation.ValidationException: org.hibernate.validator.test.xml.B does not contain the fieldType foo
{noformat}
{code}
public class A {
public int foo;
public int getFoo() {
return foo;
}
public void setFoo(int foo) {
this.foo = foo;
}
}
{code}
{code}
public class B extends A {
}
{code}
{code}
<constraint-mappings
xmlns="http://jboss.org/xml/ns/javax/validation/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd">
<default-package>org.hibernate.validator.xml</default-package>
<bean class="org.hibernate.validator.test.xml.A" ignore-annotations="true">
<field name="foo">
<constraint annotation="javax.validation.constraints.Min">
<element name="value">1</element>
</constraint>
</field>
</bean>
</constraint-mappings>
{code}
{code}
<constraint-mappings
xmlns="http://jboss.org/xml/ns/javax/validation/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd">
<default-package>org.hibernate.validator.xml</default-package>
<bean class="org.hibernate.validator.test.xml.B" ignore-annotations="true">
<field name="foo">
<constraint annotation="javax.validation.constraints.Min">
<element name="value">18</element>
</constraint>
</field>
</bean>
</constraint-mappings>
{code}
The problem is that XMLMappingParser uses {{Class.getDeclaredField}} instead of {{Class.getField}} to check whether a field exists. Easy to fix, but need to check against the BV spec.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list