Sergey Lemekhov created IGNITE-3235:
---------------------------------------
Summary: Failed to initialize primitive boolean cache property of
superclass
Key: IGNITE-3235
URL: https://issues.apache.org/jira/browse/IGNITE-3235
Project: Ignite
Issue Type: Bug
Components: cache
Affects Versions: 1.5.0.final
Reporter: Sergey Lemekhov
Priority: Minor
When a superclass of a cache class contains a primitive boolean field marked
with {{@QuerySqlField}} annotation the cache initialization fails with an
exception:
{{org.apache.ignite.IgniteCheckedException: Failed to initialize property
'<propertyName>' for key class '<key class>' and value class 'value class'.
Make sure that one of these classes contains respective getter method or
field.}}
For example:
{code}
public class Base {
@QuerySqlField
private boolean flag;
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
}
public class Derived extends Base {
private String field;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
}
{code}
This related to method
{{org.apache.ignite.internal.processors.query.GridQueryProcessor#buildClassProperty(boolean,
java.lang.Class<?>, java.lang.String, java.lang.Class<?>,
java.util.Map<java.lang.String,java.lang.String>,
org.apache.ignite.internal.processors.cache.CacheObjectContext)}}.
Method expects that all fields accessors start with "get" but for primitive
boolean fields usually the "is" prefix is used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)