... I must be missing something trivial, but I don't see it. I would appreciate your help.
I have this sqlMap: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="Blog"> <resultMap id="imgResult" class="spinetrak.photoblog.model.BlogImage"> <result property="id" column="ID" columnIndex="1" /> <result property="caption" column="CAPTION" columnIndex="2" /> <result property="date" column="IMGDATE" columnIndex="3" /> <result property="exifData" column="ID" select="getExifData" /> <result property="categories" column="ID" select="getImageCategories" /> </resultMap> <resultMap id="exifResult" class="spinetrak.photoblog.model.BlogExif"> <result property="imageID" column="ID" /> <result property="camera" column="CAMERA" /> <result property="createDate" column="CREATEDATE" /> <result property="focalLength" column="FOCALLENGTH" /> <result property="aperture" column="APERTURE" /> <result property="ISO" column="ISO" /> <result property="exposure" column="EXPOSURE" /> <result property="flash" column="FLASH" /> <result property="exposureBias" column="EXPOSUREBIAS" /> </resultMap> ... <select id="getExifData" resultMap="exifResult" parameterClass="java.lang.String"> <![CDATA[ SELECT * from BEXIF where ID = #value# ]]> </select> <select id="getImage" resultMap="imgResult" parameterClass="spinetrak.photoblog.model.BlogImage"> <![CDATA[ select * from BIMAGES where id = #id# ]]> </select> ... When I execute the getImage query with iBatis, I get this NPE and a complaint about the exifData property. Any idea what's wrong with above sqlMap? Thanks! junit.framework.AssertionFailedError: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; --- The error occurred in spinetrak/photoblog/model/BlogImage.xml. --- The error occurred while applying a result map. --- Check the Blog.imgResult. --- Check the result mapping for the 'exifData' property. --- Cause: java.lang.NullPointerException; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in spinetrak/photoblog/model/BlogImage.xml. --- The error occurred while applying a result map. --- Check the Blog.imgResult. --- Check the result mapping for the 'exifData' property. --- Cause: java.lang.NullPointerException at junit.framework.Assert.fail(Assert.java:47) at spinetrak.photoblog.EditImageTest.testFormBackingObjectNoParams(EditImageTest.java:60) 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 junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
