|
org.hibernate.property.BasicPropertyAccessor.getterMethod(Class, String) tries to find the getter for a given bean property.
This might fail, if there are a getter and an 'isser' for that property:
public class Entity {
@ManyToOne
SomeType getValue() {}
@Transient
boolean isValue() {}
}
Such code might exists for convenience, e.g. to check if a property is not null or initialized or whatever.
The outcome of org.hibernate.property.BasicPropertyAccessor.getterMethod(Class, String) depends on the order of the result of Class.getDeclaredMethods, which depends on the current environment, heavily.
Attached you'll find a Testcase that tries to reproduce that behavior. Unfortunately it's impossible to reproduce this issue on all executions of this test case, because of the randomndess nature of this issue.
Please see
HHH-3724
for a suggested solution.
|