Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 73362 invoked from network); 2 Oct 2007 09:03:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Oct 2007 09:03:04 -0000 Received: (qmail 23541 invoked by uid 500); 2 Oct 2007 09:02:46 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 23521 invoked by uid 500); 2 Oct 2007 09:02:46 -0000 Mailing-List: contact user-java-help@ibatis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user-java@ibatis.apache.org Delivered-To: mailing list user-java@ibatis.apache.org Received: (qmail 23510 invoked by uid 99); 2 Oct 2007 09:02:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Oct 2007 02:02:46 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jonathan.alvarsson@gmail.com designates 64.233.166.183 as permitted sender) Received: from [64.233.166.183] (HELO py-out-1112.google.com) (64.233.166.183) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Oct 2007 09:02:48 +0000 Received: by py-out-1112.google.com with SMTP id j37so8886920pyc for ; Tue, 02 Oct 2007 02:02:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=92OKDbsDb2PcccfPC/pcsN+GOKNyTafT3iMoxdvcYAk=; b=qasPsnnP+5y9TZ3j4iTa6086di7sRv+hY421zoIsGjh6oKUzXBNxDlGaOxFRQQnFRHwDx1fjPvO6LgVDi4ir+Rs6g24PhHH7AQYk+JhW5cZhYQqPxyJUOd2PTOyHWIQKZBS8PKO05I4uM/hgTUVCVO8xzLUkIdxhmPynQt5KboE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=QbayoNWu7FR6jSWgpoPVgmc2iG0mpV9/pWlcx1IsTkMQDus97L0KJ3zVv/zpHAUHy9jlY5e6hdYqICtT5IJJY2WC3SP8/uN1k4lZ9Hu2T4ZCU24d7Zrji+He60zR3VLClMOwXhuI/D8BTO1T9ClpnwoKbx8GB0O7YUWImwl6iwQ= Received: by 10.65.35.6 with SMTP id n6mr8130314qbj.1191315746385; Tue, 02 Oct 2007 02:02:26 -0700 (PDT) Received: by 10.65.222.16 with HTTP; Tue, 2 Oct 2007 02:02:26 -0700 (PDT) Message-ID: Date: Tue, 2 Oct 2007 11:02:26 +0200 From: "Jonathan Alvarsson" To: user-java@ibatis.apache.org Subject: Lazy loading -- IllegalArgumentException: argument type mismatch MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_13549_28492439.1191315746378" X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_13549_28492439.1191315746378 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I have tried to activate the lazy loading in iBatis. From working perfectly without lazy loading I turn into lot's of exceptions like this one: org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; --- The error occurred in sqlMap.xml. --- The error occurred while applying a result map. --- Check the Library. --- The error happened while setting a property on the result object. --- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a'. Cause: java.lang.IllegalArgumentException: argument type mismatch; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in sqlMap.xml. --- The error occurred while applying a result map. --- Check the Library. --- The error happened while setting a property on the result object. --- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a'. Cause: java.lang.IllegalArgumentException: argument type mismatch Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in sqlMap.xml. --- The error occurred while applying a result map. --- Check the Library. --- The error happened while setting a property on the result object. --- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a'. Cause: java.lang.IllegalArgumentException: argument type mismatch at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback (GeneralStatement.java:188) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject (GeneralStatement.java:104) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject( SqlMapExecutorDelegate.java:566) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject( SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject( SqlMapSessionImpl.java:106) at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient( SqlMapClientTemplate.java:243) at org.springframework.orm.ibatis.SqlMapClientTemplate.execute( SqlMapClientTemplate.java:193) at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject( SqlMapClientTemplate.java:241) at net.bioclipse.structuredb.persistency.dao.GenericDao.getById( GenericDao.java:55) 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:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection( AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint (ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:144) at net.bioclipse.structuredb.persistency.dao.FetchIntroductionInterceptor.invoke (FetchIntroductionInterceptor.java:36) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke( JdkDynamicAopProxy.java:204) at $Proxy6.getById(Unknown Source) at net.bioclipse.structuredb.persistency.dao.GenericDaoTest.testUpdate( GenericDaoTest.java:122) 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:597) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at org.springframework.test.ConditionalTestCase.runBare( ConditionalTestCase.java:69) at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.access$001 (AbstractAnnotationAwareTransactionalTests.java:47) at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests$1.run (AbstractAnnotationAwareTransactionalTests.java:115) at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTest (AbstractAnnotationAwareTransactionalTests.java:180) at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTestTimed (AbstractAnnotationAwareTransactionalTests.java:153) at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runBare (AbstractAnnotationAwareTransactionalTests.java:111) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.junit.internal.runners.OldTestClassRunner.run( OldTestClassRunner.java:76) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:38) 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) Caused by: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a'. Cause: java.lang.IllegalArgumentException: argument type mismatch at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties( PropertyAccessPlan.java:52) 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) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery( GeneralStatement.java:205) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback (GeneralStatement.java:173) ... 45 more Caused by: java.lang.IllegalArgumentException: argument type mismatch 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:597) at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties( PropertyAccessPlan.java:46) ... 53 more What am I doing wrong? Do I need interfaces for my domain objects? I didn't need it when using Hibernate so I thought that maybe... Or what? -- // Jonathan ------=_Part_13549_28492439.1191315746378 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I have tried to activate the lazy loading in iBatis. From working perfectly without lazy loading I turn into lot's of exceptions like this one:

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];  
--- The error occurred in sqlMap.xml. 
--- The error occurred while applying a result map. 
--- Check the Library. 
--- The error happened while setting a property on the result object. 
--- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a '.  Cause: java.lang.IllegalArgumentException: argument type mismatch; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in sqlMap.xml. 
--- The error occurred while applying a result map. 
--- Check the Library. 
--- The error happened while setting a property on the result object. 
--- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a '.  Cause: java.lang.IllegalArgumentException: argument type mismatch
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in sqlMap.xml. 
--- The error occurred while applying a result map. 
--- Check the Library. 
--- The error happened while setting a property on the result object. 
--- Cause: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a '.  Cause: java.lang.IllegalArgumentException: argument type mismatch
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject (GeneralStatement.java:104)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java :541)
    at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
    at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:243)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:193)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:241)
    at net.bioclipse.structuredb.persistency.dao.GenericDao.getById (GenericDao.java:55)
    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:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint (ReflectiveMethodInvocation.java:177)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
    at net.bioclipse.structuredb.persistency.dao.FetchIntroductionInterceptor.invoke (FetchIntroductionInterceptor.java:36)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:204)
    at $Proxy6.getById(Unknown Source)
    at net.bioclipse.structuredb.persistency.dao.GenericDaoTest.testUpdate(GenericDaoTest.java:122)
    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:597)
    at junit.framework.TestCase.runTest(TestCase.java:168)
    at junit.framework.TestCase.runBare(TestCase.java:134)
    at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java :69)
    at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.access$001(AbstractAnnotationAwareTransactionalTests.java:47)
    at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests$1.run (AbstractAnnotationAwareTransactionalTests.java:115)
    at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTest(AbstractAnnotationAwareTransactionalTests.java:180)
    at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runTestTimed (AbstractAnnotationAwareTransactionalTests.java:153)
    at org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.runBare(AbstractAnnotationAwareTransactionalTests.java:111)
    at junit.framework.TestResult$1.protect (TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:38)
    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)
Caused by: java.lang.RuntimeException: Error setting property 'setStructures' of 'net.bioclipse.structuredb.domain.Library@8f4bee9a'.  Cause: java.lang.IllegalArgumentException : argument type mismatch
    at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:52)
    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)
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:205)
    at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback (GeneralStatement.java:173)
    ... 45 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
    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:597)
    at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties (PropertyAccessPlan.java:46)
    ... 53 more

What am I doing wrong? Do I need interfaces for my domain objects? I didn't need it when using Hibernate so I thought that maybe... Or what?

--
// Jonathan ------=_Part_13549_28492439.1191315746378--