[ https://issues.apache.org/jira/browse/IBATIS-413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clinton Begin closed IBATIS-413. -------------------------------- Resolution: Invalid Works as expected for the JavaBeans property standard > Problem for error parsing XML(SQL Maps) > --------------------------------------- > > Key: IBATIS-413 > URL: https://issues.apache.org/jira/browse/IBATIS-413 > Project: iBatis for Java > Issue Type: Bug > Components: SQL Maps > Affects Versions: 2.2.0, 2.3.0 > Environment: windows xp sp2, tomcat 5.0.28,springframework 2.0.3 > Reporter: val lee > > if my domain bean have propertis for single letter start .etc xYYYY, tomcat > will error. > Domain Bean: > public class bean extends BaseModel { > private static final long serialVersionUID = -8485826237084876775L; > private long nSaleMoney ; > public long getNSaleMoney() { > return saleMoney; > } > public void setNSaleMoney(long nSaleMoney) { > this.nSaleMoney = nSaleMoney ; > } > } > sql map: > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" > "http://www.ibatis.com/dtd/sql-map-2.dtd"> > <sqlMap namespace="sscIssue"> > <typeAlias type="com.domain.SscIssue" alias="sscIssue" /> > <resultMap class="sscIssue" id="sscIssueResult"> > <result property="nSaleMoney" column="nSaleMoney" /> > </resultMap> > > <insert id="insertSscIssue"> > INSERT INTO > tabtab (nSaleMoney) > values > (#nSaleMoney#) > </insert> > </sqlMap> > error info: > 2007-04-02 21:13:38,500 ERROR [org.springframework.web.context.ContextLoader] > - Context initialization failed > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'sqlMapClient' defined in ServletContext resource > [/WEB-INF/dataAccessContext-local.xml]: Initialization of bean failed; nested > exception is java.lang.RuntimeException: Error occurred. Cause: > com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. > Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: > com.ibatis.common.beans.ProbeException: There is no READABLE property named > 'nSaleMoney' in class 'com.domain.SscIssue' > java.lang.RuntimeException: Error occurred. Cause: > com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. > Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: > com.ibatis.common.beans.ProbeException: There is no READABLE property named > 'nSaleMoney' in class 'com.domain.SscIssue' > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:84) > at > com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:62) > at > org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:258) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320) > at > org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4343) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:789) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) > at > org.apache.catalina.core.StandardService.start(StandardService.java:480) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) > at org.apache.catalina.startup.Catalina.start(Catalina.java:556) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) > Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. > Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: > com.ibatis.common.beans.ProbeException: There is no READABLE property named > 'nSaleMoney' in class 'com.domain.SscIssue' > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:52) > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:81) > ... 27 more > Caused by: java.lang.RuntimeException: Error parsing XPath > '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error > parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath > '/sqlMap/insert'. Cause: com.ibatis.common.beans.ProbeException: There is no > READABLE property named 'nSaleMoney' in class 'com.domain.SscIssue' > at > com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:113) > at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:74) > at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:92) > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62) > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50) > ... 28 more > Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: > com.ibatis.common.beans.ProbeException: There is no READABLE property named > 'nSaleMoney' in class 'com.domain.SscIssue' > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:52) > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:50) > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:364) > at > com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:111) > ... 32 more > Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. > Cause: com.ibatis.common.beans.ProbeException: There is no READABLE property > named 'nSaleMoney' in class 'com.domain.SscIssue' > at > com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:113) > at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:74) > at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:92) > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62) > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50) > ... 35 more > Caused by: com.ibatis.common.beans.ProbeException: There is no READABLE > property named 'nSaleMoney' in class 'com.domain.SscIssue' > at com.ibatis.common.beans.ClassInfo.getGetterType(ClassInfo.java:240) > at > com.ibatis.common.beans.GenericProbe.getClassPropertyTypeForGetter(GenericProbe.java:224) > at > com.ibatis.common.beans.GenericProbe.getPropertyTypeForGetter(GenericProbe.java:153) > at > com.ibatis.sqlmap.engine.mapping.parameter.InlineParameterMapParser.resolveTypeHandler(InlineParameterMapParser.java:229) > at > com.ibatis.sqlmap.engine.mapping.parameter.InlineParameterMapParser.newParseMapping(InlineParameterMapParser.java:138) > at > com.ibatis.sqlmap.engine.mapping.parameter.InlineParameterMapParser.parseInlineParameterMap(InlineParameterMapParser.java:50) > at > com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.applyInlineParameterMap(SqlStatementParser.java:428) > at > com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.processSqlStatement(SqlStatementParser.java:216) > at > com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:121) > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$19.process(SqlMapParser.java:553) > at > com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:111) > ... 39 more > when i change nSaleMoney to saleMoney, tomcat runs ok. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.