Return-Path: Delivered-To: apmail-incubator-ibatis-user-java-archive@www.apache.org Received: (qmail 64519 invoked from network); 25 Feb 2005 03:05:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 25 Feb 2005 03:05:05 -0000 Received: (qmail 12122 invoked by uid 500); 25 Feb 2005 03:05:04 -0000 Delivered-To: apmail-incubator-ibatis-user-java-archive@incubator.apache.org Received: (qmail 11855 invoked by uid 500); 25 Feb 2005 03:05:03 -0000 Mailing-List: contact ibatis-user-java-help@incubator.apache.org; run by ezmlm Precedence: bulk Reply-To: ibatis-user-java@incubator.apache.org List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list ibatis-user-java@incubator.apache.org Received: (qmail 11796 invoked by uid 99); 25 Feb 2005 03:05:02 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of eduardo@gwe.com.br designates 200.234.203.7 as permitted sender) Received: from hm171.locaweb.com.br (HELO hm171.locaweb.com.br) (200.234.203.7) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 24 Feb 2005 19:05:00 -0800 Received: (qmail 94777 invoked by uid 0); 25 Feb 2005 03:05:02 -0000 Received: from unknown (10.1.10.191) by hm171.locaweb.com.br with QMTP; 25 Feb 2005 03:05:02 -0000 Received: (qmail 30355 invoked from network); 25 Feb 2005 03:04:55 -0000 Received: from unknown (HELO ?200.158.158.129?) (eduardo:gwe.com.br@200.158.158.129) by hm191.locaweb.com.br with SMTP; 25 Feb 2005 03:04:55 -0000 Subject: Re: NullPointer with lazy-load. From: Eduardo Piva To: ibatis-user-java@incubator.apache.org In-Reply-To: <1109280282.2846.17.camel@zion.casa.net> References: <1109280282.2846.17.camel@zion.casa.net> Content-Type: text/plain Message-Id: <1109300480.2475.1.camel@zion.casa.net> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 (1.4.6-2) Date: Fri, 25 Feb 2005 00:01:20 -0300 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Found it. I forgot to add a tag in my sql-map. Here it is, for those who eventually will have the same error: On Thu, 2005-02-24 at 18:24, Eduardo Piva wrote: > Hello list, > > I'm using iBatis with SpringFramework. I have an application that is > working fine today, but without lazy loading. If I enable lazy-load but > does not enable enhancements, it seems that lazy loading does not works, > because I can see the same number of selects going to my database. > > If I enable both lazy-load and enhancements, there is just one select > going to my database, witch is correct, but when I try to access a field > of my bean, I get a NullPointerException. It seems that it's something > related to Transactions into a Session. > > If I disable transaction in SpringFramework, I continue to have the same > error. Can someone help me? Here are my iBatis map and the error I get. > > ************** Settings ******************** > cacheModelsEnabled="true" > enhancementEnabled="true" > lazyLoadingEnabled="true" > useStatementNamespaces="false" > /> > > > ********* User.xml Map, with some information ommited. ********* > > > > > > > > > > > > > > > > > > > > > > > > > > > > parameterClass="java.lang.String" cacheModel="userCache"> > select username, name, telephone, celphone from users where username = > #param# > > > parameterClass="java.lang.String" cacheModel="roleCache"> > select * from authorities, valid_authorities where username = #param# > and authorities.authority = valid_authorities.authority > > > ************* Error ********************* > java.lang.NullPointerException > com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction(SqlMapExecutorDelegate.java:776) > com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.endTransaction(SqlMapSessionImpl.java:141) > com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.endTransaction(SqlMapClientImpl.java:114) > com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.autoEndTransaction(SqlMapExecutorDelegate.java:860) > com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:617) > com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:584) > com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:105) > com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:77) > com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.getResult(ResultLoader.java:72) > com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadObject(EnhancedLazyResultLoader.java:130) > com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.invoke(EnhancedLazyResultLoader.java:113) > $java.util.List$$EnhancerByCGLIB$$7e9071fc.toString() > java.lang.String.valueOf(String.java:2131) > java.lang.StringBuffer.append(StringBuffer.java:370) > br.com.gwe.web.controller.UserController.formBackingObject(UserController.java:109) > org.springframework.web.servlet.mvc.AbstractFormController.showNewForm(AbstractFormController.java:270) > org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:240) > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128) > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:522) > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:321) > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) > net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:70) > net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:169) > net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:105) > net.sf.acegisecurity.ui.AbstractIntegrationFilter.doFilter(AbstractIntegrationFilter.java:170) > net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:105) > net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:333) > net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:105) > > If you need more information, just ask me that I can provide it. I've > ommited a lot of XML, since it is a full application and it would flood > this email. -- Eduardo Piva GWE Software +55 (19) 3254-7633 +55 (19) 8114-9488 www.gwe.com.br