iBatis를 사용하면서 자주 발생하는 에러...중 하나
Posted 2007. 10. 6. 11:49로그에 아래와 같은 에러메시지가 출력되고
2007-10-06 11:37:57,843 INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] - <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]>
2007. 10. 6 오전 11:37:57 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet test_spring threw exception
java.lang.IllegalArgumentException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:46)
at com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanDataExchange.java:112)
at com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectValues(BasicResultMap.java:373)
at com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:64)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:382)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:301)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:190)
....
화면엔...
2007-10-06 11:37:57,843 INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] - <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]>
2007. 10. 6 오전 11:37:57 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet test_spring threw exception
java.lang.IllegalArgumentException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:46)
at com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanDataExchange.java:112)
at com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectValues(BasicResultMap.java:373)
at com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:64)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:382)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:301)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:190)
....
화면엔...
Error setting property 'setXXX' of 어쩌구 저쩌구 나오는 경우...의 대부분은
일종의 NullPointerException이다.
<resultMap ... 하위의
<property 에 nullValue를 처리해주지 않은 곳에 null이 들어갈 경우 발생한다.
<resultMap class="test.Member" id="memberResult" >
<result property="id" column="id" />
<result property="name" column="name"/>
<result property="age" column="age" nullValue="0"/>
테이블 컬럼에 not null이 아닌 항목은 위와 같이 nullValue처리를 꼭 해주어야 한다는 사실..
'개발노트 > iBatis/myBatis' 카테고리의 다른 글
iBATIS-SQLMaps 2.0 Tutorial.pdf(한글번역판) (0) | 2007.10.30 |
---|---|
dynamic iterate 기능에 대해서.. (1) | 2007.10.30 |
iBatis에서 insert된 자동생성값 알아오기 - MySQL버전 (0) | 2007.08.24 |
iBatis와 전통적인 ORM과의 차이점 (0) | 2007.08.21 |
iBatis resultMap의 구조(?) (0) | 2007.08.16 |
- Filed under : 개발노트/iBatis/myBatis