美文网首页
Illegal overloaded getter method

Illegal overloaded getter method

作者: lllaser | 来源:发表于2017-10-18 00:18 被阅读0次

    Exception in thread "main" org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Illegal overloaded getter method with ambiguous type for property tradeType in class class com.honzh.biz.database.entity.OrderBase. This breaks the JavaBeans specification and can cause unpredicatble results.
    解决办法:
    以上问题是因为mybatis内部在进行Java反射的时候出现的问题,那么为什么会出现,因为Java会把Boolean类型的getter方法默认为is打头的或者是get打头的,如

        public boolean isTradeType() {  
              
        }  
          
        public boolean getTradeType() {  
              
        }  
    

    以上两种方法,Java都会认为是bean的属性封装,那么在反射的时候,Java就不知道该get哪个tradeType了,如果解决呢,如果你的类中有

        public Integer getTradeType() {  
            return tradeType;  
        }  
          
        public boolean isTradeType() {  
            if (StringUtils.isEmpty(getTradeType()) || (!isBuy() && isSale())) {  
                return false;  
            }  
            return true;  
        }  
    

    类似以上的方法存在,那么就要注意了,把boolean 的isTradeType方法重命名一下,如换成typeOfTradeType这样就好了,Java在反射的时候就不会区分不清是什么属性。

    原文: http://blog.csdn.net/qing_gee/article/details/44307827

    相关文章

      网友评论

          本文标题:Illegal overloaded getter method

          本文链接:https://www.haomeiwen.com/subject/hrzjuxtx.html