[ 
https://issues.apache.org/jira/browse/IGNITE-3235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346020#comment-15346020
 ] 

Anton Vinogradov commented on IGNITE-3235:
------------------------------------------

Sergey,

Thanks for comments.
I've updated fix to solve all cases, please check changes: 
https://github.com/gridgain/apache-ignite/compare/gridgain-7.5.27...gridgain:ignite-3235
Please let me know in case I've missed something.

> 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
>            Assignee: Anton Vinogradov
>            Priority: Minor
>             Fix For: 1.7
>
>
> 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)

Reply via email to