You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Prashanth Sukumaran <pr...@yahoo.com> on 2005/01/13 17:23:59 UTC
NestedSQLException
Hi,
I am getting the following NestedSQLException. I think the problem is due to some null values
stored in the database. Why should there be a Null Pointer Exception while setting the data into
the bean that i have passed?
Has anybody got a similar error. I am also pasting the sql definition here.
Thanks a lot
Prashanth
PS: IBatis is awsome. I love everything about the way it is done and way it helps me to write
clean code. The XML representatioin of the SQL is the best. I don't like to have SQL in my Java
Code. Even though you will be adding new enhancements to iBatis, please keep this XML
represenatation of SQL query as it is. Thanks a lot for all the hardwork you guys are putting and
make our lives easier.
<select id="getShopByShopId" resultMap="shopResult" parameterClass="int">
select
SHOPID, SHOPNAME, SHOPSTREETADDRESS1, SHOPSTREETADDRESS2, SHOPCITY,
STATEID, SHOPZIPCODE, REGIONID,
DECODE(TBLSHOPS.TECHNICIAN,NULL,'', SALESMAN.SALESMAN_LAST_NM || ', ' ||
SALESMAN.SALESMAN_FIRST_NM) SALESMAN_NAME
from TBLSHOPS, SALESMAN
WHERE TBLSHOPS.SHOPID = #value# AND
TBLSHOPS.active = 'Y' AND
TBLSHOPS.TECHNICIAN = SALESMAN.SALESMAN_ID (+)
</select>
Nested Exception is...
com.ibatis.dao.client.DaoException: Failed to execute queryForObject - id [getShopByShopId],
parameterObject [1877]. Cause: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
--- The error occurred while applying a result map.
--- Check the Shop.shopResult.
--- The error happened while setting a property on the result object.
--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
--- The error occurred while applying a result map.
--- Check the Shop.shopResult.
--- The error happened while setting a property on the result object.
--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java:164)
__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
Re: NestedSQLException
Posted by Prashanth Sukumaran <pr...@yahoo.com>.
Hi Larry,
You are so right. That was a stupid statement from my side. It is safe to have int as Zero in
this bean. I will modify the <resultmap> to have zero for int type data.
Thanks a lot for you time
Prashanth.
--- Larry Meadors <la...@gmail.com> wrote:
> Oops, sorry - I replied just to Prashanth, not the list...
> ===
> If you want null values, the properties *must* be Integer, not int.
> You cannot represent a null value in an int.
>
> In addition, when you create a new Shop instance, all properties of
> type int are initialized to 0 (because they cannot be null), so right
> away, your bean will be messed up.
> ===
>
> On Thu, 13 Jan 2005 09:53:05 -0800 (PST), Prashanth Sukumaran
> <pr...@yahoo.com> wrote:
> > Hi Larry,
> >
> > The problem is that i want to leave the value as 'NULL' coz., zero means some value.
> > Is there something i can do to fix this issue by leaving int as 'NULL' and still not have this
> > error.
> >
> > What i am not understanding is, if you are taking the 'value' of the field from the resultset
> and
> > then assigning to the int variable in the bean, Why is there a NullPointer Exception? From the
> > metadata description you know that the field is of type number or interger etc. Now i would
> > ofcourse use resultset.getInt("columnname"). Assume that i am making a pure jdbc call
> directly
> > and executing the query and assigning the values to the bean. I will not get this error.
> >
> > What makes it so different here?
> >
> > Thanks
> > Prashanth.
> >
> >
> > --- Larry Meadors <la...@gmail.com> wrote:
> >
> > > I'd bet money that the int properties are causing that - if you are
> > > making int vars null, you MUST specify what the "null" column value
> > > should be treated as, because Java cannot do that.
> > >
> > > My guess is that it is getting a null Integer from the database, and
> > > calling intValue() on that null, and...KABOOM!
> > >
> > > Larry
> > >
> > > On Thu, 13 Jan 2005 09:36:16 -0800 (PST), <pr...@yahoo.com> wrote:
> > > > It is just a simple POJO. I created it using eclipse "Generate getters and setters".
> > > > I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning
> > > exactly
> > > > one row. The <result-map> is a one to one mapping of the column name to the bean fields.
> > > >
> > > > I am not defining what the "null" column value should be treated as. But that is not
> required
> > > > right. Also i feel the problem is with the "int" being mapped to "NULL".
> > > >
> > > > Hasn't anybody had this error????? :-(
> > > >
> > >
> >
> > __________________________________
> > Do you Yahoo!?
> > Read only the mail you want - Yahoo! Mail SpamGuard.
> > http://promotions.yahoo.com/new_mail
> >
>
__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
Re: NestedSQLException
Posted by Larry Meadors <la...@gmail.com>.
Oops, sorry - I replied just to Prashanth, not the list...
===
If you want null values, the properties *must* be Integer, not int.
You cannot represent a null value in an int.
In addition, when you create a new Shop instance, all properties of
type int are initialized to 0 (because they cannot be null), so right
away, your bean will be messed up.
===
On Thu, 13 Jan 2005 09:53:05 -0800 (PST), Prashanth Sukumaran
<pr...@yahoo.com> wrote:
> Hi Larry,
>
> The problem is that i want to leave the value as 'NULL' coz., zero means some value.
> Is there something i can do to fix this issue by leaving int as 'NULL' and still not have this
> error.
>
> What i am not understanding is, if you are taking the 'value' of the field from the resultset and
> then assigning to the int variable in the bean, Why is there a NullPointer Exception? From the
> metadata description you know that the field is of type number or interger etc. Now i would
> ofcourse use resultset.getInt("columnname"). Assume that i am making a pure jdbc call directly
> and executing the query and assigning the values to the bean. I will not get this error.
>
> What makes it so different here?
>
> Thanks
> Prashanth.
>
>
> --- Larry Meadors <la...@gmail.com> wrote:
>
> > I'd bet money that the int properties are causing that - if you are
> > making int vars null, you MUST specify what the "null" column value
> > should be treated as, because Java cannot do that.
> >
> > My guess is that it is getting a null Integer from the database, and
> > calling intValue() on that null, and...KABOOM!
> >
> > Larry
> >
> > On Thu, 13 Jan 2005 09:36:16 -0800 (PST), <pr...@yahoo.com> wrote:
> > > It is just a simple POJO. I created it using eclipse "Generate getters and setters".
> > > I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning
> > exactly
> > > one row. The <result-map> is a one to one mapping of the column name to the bean fields.
> > >
> > > I am not defining what the "null" column value should be treated as. But that is not required
> > > right. Also i feel the problem is with the "int" being mapped to "NULL".
> > >
> > > Hasn't anybody had this error????? :-(
> > >
> >
>
> __________________________________
> Do you Yahoo!?
> Read only the mail you want - Yahoo! Mail SpamGuard.
> http://promotions.yahoo.com/new_mail
>
Re: NestedSQLException
Posted by Prashanth Sukumaran <pr...@yahoo.com>.
Hi Larry,
The problem is that i want to leave the value as 'NULL' coz., zero means some value.
Is there something i can do to fix this issue by leaving int as 'NULL' and still not have this
error.
What i am not understanding is, if you are taking the 'value' of the field from the resultset and
then assigning to the int variable in the bean, Why is there a NullPointer Exception? From the
metadata description you know that the field is of type number or interger etc. Now i would
ofcourse use resultset.getInt("columnname"). Assume that i am making a pure jdbc call directly
and executing the query and assigning the values to the bean. I will not get this error.
What makes it so different here?
Thanks
Prashanth.
--- Larry Meadors <la...@gmail.com> wrote:
> I'd bet money that the int properties are causing that - if you are
> making int vars null, you MUST specify what the "null" column value
> should be treated as, because Java cannot do that.
>
> My guess is that it is getting a null Integer from the database, and
> calling intValue() on that null, and...KABOOM!
>
> Larry
>
> On Thu, 13 Jan 2005 09:36:16 -0800 (PST), <pr...@yahoo.com> wrote:
> > It is just a simple POJO. I created it using eclipse "Generate getters and setters".
> > I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning
> exactly
> > one row. The <result-map> is a one to one mapping of the column name to the bean fields.
> >
> > I am not defining what the "null" column value should be treated as. But that is not required
> > right. Also i feel the problem is with the "int" being mapped to "NULL".
> >
> > Hasn't anybody had this error????? :-(
> >
>
__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
Re: NestedSQLException
Posted by Larry Meadors <la...@gmail.com>.
I'd bet money that the int properties are causing that - if you are
making int vars null, you MUST specify what the "null" column value
should be treated as, because Java cannot do that.
My guess is that it is getting a null Integer from the database, and
calling intValue() on that null, and...KABOOM!
Larry
On Thu, 13 Jan 2005 09:36:16 -0800 (PST), <pr...@yahoo.com> wrote:
> It is just a simple POJO. I created it using eclipse "Generate getters and setters".
> I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning exactly
> one row. The <result-map> is a one to one mapping of the column name to the bean fields.
>
> I am not defining what the "null" column value should be treated as. But that is not required
> right. Also i feel the problem is with the "int" being mapped to "NULL".
>
> Hasn't anybody had this error????? :-(
>
Re: NestedSQLException
Posted by Prashanth Sukumaran <pr...@yahoo.com>.
Hi Kris,
I am attaching more of the exception i missed out last time.
Thanks
Prashanth.
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
--- The error occurred while applying a result map.
--- Check the Shop.shopResult.
--- The error happened while setting a property on the result object.
--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:183)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:99)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:348)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:333)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:57)
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java:162)
... 24 more
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at
com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:51)
at com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanDataExchange.java:109)
at
com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectValues(BasicResultMap.java:168)
at
com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:47)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:302)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:146)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:200)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:168)
... 30 more
Caused by: java.lang.NullPointerException
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:324)
at
com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties(PropertyAccessPlan.java:45)
--- Prashanth Sukumaran <pr...@yahoo.com> wrote:
> Hi Kris,
>
> Thanks for replying.
>
> It is just a simple POJO. I created it using eclipse "Generate getters and setters".
> I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning exactly
> one row. The <result-map> is a one to one mapping of the column name to the bean fields.
>
> I am not defining what the "null" column value should be treated as. But that is not required
> right. Also i feel the problem is with the "int" being mapped to "NULL".
>
> Hasn't anybody had this error????? :-(
>
> Thanks
> Prashanth.
>
> /*
> * Created on Oct 7, 2004
> *
> * TODO To change the template for this generated file go to
> * Window - Preferences - Java - Code Style - Code Templates
> */
> package com.wirelessmob.solutions.dataaccess.beans;
>
> import java.util.List;
>
> /**
> * @author Prashanth Sukumaran
> *
> * TODO To change the template for this generated type comment go to
> * Window - Preferences - Java - Code Style - Code Templates
> */
> public class Shop {
>
>
> private int shopId;
> private String shopName;
> private String shopStreetAddress1;
> private String shopStreetAddress2;
> private String shopCity;
> private String stateId;
> private String shopZipCode;
> private String shopPhone;
> private String shopContact;
> private String shopContactEmail;
>
> private int multiShopLocationId;
> private int multiShopHeadquarters;
> private int shopTypeId;
> private int dealerType;
> private int dealerGroupId;
> private int affiliationId;
> private int groups20Id;
> private String primaryDistName;
> private String primaryDistCity;
> private String primaryDistPhone;
> private String primaryDistStateCd;
>
> private String[] franchiseLinesIds;
> private String[] paintBrandsIds;
> private String franchiseLinesNames;
> private String paintBrandNames;
> private List sponsorDealers;
> private String sdIds;
> private String salesRep;
>
> private int shopHeadquarters;
> private String otherMultiShopLocation;
> private String otherFranchiseLines;
> private String otherDealerGroup;
> private String otherPaintBrands;
> private String other20GroupsId;
> private String otherAffiliation;
> private String createdBy;
> private java.sql.Date createdDate;
> private String modifiedBy;
> private java.sql.Date modifiedDate;
>
> public Shop() {
> createdDate = new java.sql.Date(System.currentTimeMillis());
> modifiedDate = new java.sql.Date(System.currentTimeMillis());
> }
>
> /**
> * @return Returns the createdBy.
> */
> public String getCreatedBy() {
> return createdBy;
> }
> /**
> * @param createdBy The createdBy to set.
> */
> public void setCreatedBy(String createdBy) {
> this.createdBy = createdBy;
> }
> /**
> * @return Returns the createdDate.
> */
> public java.sql.Date getCreatedDate() {
> return createdDate;
> }
> /**
> * @param createdDate The createdDate to set.
> */
> public void setCreatedDate(java.sql.Date createdDate) {
> this.createdDate = createdDate;
> }
> /**
> * @return Returns the modifiedBy.
> */
> public String getModifiedBy() {
> return modifiedBy;
> }
> /**
> * @param modifiedBy The modifiedBy to set.
> */
> public void setModifiedBy(String modifiedBy) {
> this.modifiedBy = modifiedBy;
> }
> /**
> * @return Returns the modifiedDate.
> */
> public java.sql.Date getModifiedDate() {
> return modifiedDate;
> }
> /**
> * @param modifiedDate The modifiedDate to set.
> */
> public void setModifiedDate(java.sql.Date modifiedDate) {
> this.modifiedDate = modifiedDate;
> }
> /**
> * @return Returns the paintBrandNames.
> */
> public String getPaintBrandNames() {
> return paintBrandNames;
> }
> /**
> * @param paintBrandNames The paintBrandNames to set.
> */
> public void setPaintBrandNames(String paintBrandNames) {
> this.paintBrandNames = paintBrandNames;
> }
> /**
> * @return Returns the franchiseLinesNames.
> */
> public String getFranchiseLinesNames() {
> return franchiseLinesNames;
> }
> /**
> * @param franchiseLinesNames The franchiseLinesNames to set.
> */
> public void setFranchiseLinesNames(String franchiseLinesNames) {
> this.franchiseLinesNames = franchiseLinesNames;
> }
> /**
> * @return Returns the sdIds.
> */
> public String getSdIds() {
> return sdIds;
> }
> /**
> * @param sdIds The sdIds to set.
> */
> public void setSdIds(String sdIds) {
> this.sdIds = sdIds;
> }
> /**
> * @return Returns the sponsorDealers.
> */
> public List getSponsorDealers() {
> return sponsorDealers;
> }
> /**
> * @param sponsorDealers The sponsorDealers to set.
> */
> public void setSponsorDealers(List sponsorDealers) {
> this.sponsorDealers = sponsorDealers;
> }
>
> /**
> * @return Returns the shopId.
> */
> public int getShopId() {
> return shopId;
> }
> /**
> * @param shopId The shopId to set.
> */
> public void setShopId(int shopId) {
> this.shopId = shopId;
> }
> /**
> * @return Returns the shopName.
> */
> public String getShopName() {
> return shopName;
> }
> /**
> * @param shopName The shopName to set.
> */
> public void setShopName(String shopName) {
> this.shopName = shopName;
> }
>
> /**
> * @return Returns the affiliationId.
> */
> public int getAffiliationId() {
> return affiliationId;
> }
> /**
> * @param affiliationId The affiliationId to set.
> */
> public void setAffiliationId(int affiliationId) {
> this.affiliationId = affiliationId;
> }
> /**
> * @return Returns the dealerGroupId.
> */
> public int getDealerGroupId() {
> return dealerGroupId;
> }
> /**
> * @param dealerGroupId The dealerGroupId to set.
> */
> public void setDealerGroupId(int dealerGroupId) {
> this.dealerGroupId = dealerGroupId;
> }
> /**
> * @return Returns the dealerType.
> */
> public int getDealerType() {
> return dealerType;
> }
> /**
> * @param dealerType The dealerType to set.
> */
> public void setDealerType(int dealerType) {
> this.dealerType = dealerType;
> }
>
> /**
> * @return Returns the franchiseLinesIds.
> */
> public String[] getFranchiseLinesIds() {
> return franchiseLinesIds;
> }
> /**
> * @param franchiseLinesIds The franchiseLinesIds to set.
> */
> public void setFranchiseLinesIds(String[] franchiseLinesIds) {
> this.franchiseLinesIds = franchiseLinesIds;
> }
> /**
> * @return Returns the groups20Id.
> */
> public int getGroups20Id() {
> return groups20Id;
> }
> /**
> * @param groups20Id The groups20Id to set.
> */
> public void setGroups20Id(int groups20Id) {
> this.groups20Id = groups20Id;
> }
> /**
> * @return Returns the multiShopHeadquarters.
> */
> public int getMultiShopHeadquarters() {
> return multiShopHeadquarters;
> }
> /**
> * @param multiShopHeadquarters The multiShopHeadquarters to set.
> */
> public void setMultiShopHeadquarters(int multiShopHeadquarters) {
> this.multiShopHeadquarters = multiShopHeadquarters;
> }
> /**
> * @return Returns the multiShopLocationId.
> */
> public int getMultiShopLocationId() {
> return multiShopLocationId;
> }
> /**
> * @param multiShopLocationId The multiShopLocationId to set.
> */
> public void setMultiShopLocationId(int multiShopLocationId) {
> this.multiShopLocationId = multiShopLocationId;
> }
> /**
> * @return Returns the paintBrandsIds.
> */
> public String[] getPaintBrandsIds() {
> return paintBrandsIds;
> }
> /**
> * @param paintBrandsIds The paintBrandsIds to set.
> */
> public void setPaintBrandsIds(String[] paintBrandsIds) {
> this.paintBrandsIds = paintBrandsIds;
> }
> /**
> * @return Returns the primaryDistCity.
> */
> public String getPrimaryDistCity() {
> return primaryDistCity;
> }
> /**
> * @param primaryDistCity The primaryDistCity to set.
> */
> public void setPrimaryDistCity(String primaryDistCity) {
> this.primaryDistCity = primaryDistCity;
> }
> /**
> * @return Returns the primaryDistName.
> */
> public String getPrimaryDistName() {
> return primaryDistName;
> }
> /**
> * @param primaryDistName The primaryDistName to set.
> */
> public void setPrimaryDistName(String primaryDistName) {
> this.primaryDistName = primaryDistName;
> }
> /**
> * @return Returns the primaryDistPhone.
> */
> public String getPrimaryDistPhone() {
> return primaryDistPhone;
> }
> /**
> * @param primaryDistPhone The primaryDistPhone to set.
> */
> public void setPrimaryDistPhone(String primaryDistPhone) {
> this.primaryDistPhone = primaryDistPhone;
> }
> /**
> * @return Returns the primaryDistStateCd.
> */
> public String getPrimaryDistStateCd() {
> return primaryDistStateCd;
> }
> /**
> * @param primaryDistStateCd The primaryDistStateCd to set.
> */
> public void setPrimaryDistStateCd(String primaryDistStateCd) {
> this.primaryDistStateCd = primaryDistStateCd;
> }
> /**
> * @return Returns the shopCity.
> */
> public String getShopCity() {
> return shopCity;
> }
> /**
> * @param shopCity The shopCity to set.
> */
> public void setShopCity(String shopCity) {
> this.shopCity = shopCity;
> }
> /**
> * @return Returns the shopContact.
> */
> public String getShopContact() {
> return shopContact;
> }
> /**
> * @param shopContact The shopContact to set.
> */
> public void setShopContact(String shopContact) {
> this.shopContact = shopContact;
> }
> /**
> * @return Returns the shopContactEmail.
> */
> public String getShopContactEmail() {
> return shopContactEmail;
> }
> /**
> * @param shopContactEmail The shopContactEmail to set.
> */
> public void setShopContactEmail(String shopContactEmail) {
> this.shopContactEmail = shopContactEmail;
> }
>
> /**
> * @return Returns the shopPhone.
> */
> public String getShopPhone() {
> return shopPhone;
> }
> /**
> * @param shopPhone The shopPhone to set.
> */
> public void setShopPhone(String shopPhone) {
> this.shopPhone = shopPhone;
> }
> /**
> * @return Returns the shopStateCd.
> */
> public String getStateId() {
> return stateId;
> }
> /**
> * @param shopStateCd The shopStateCd to set.
> */
> public void setStateId(String stateId) {
> this.stateId = stateId;
> }
> /**
> * @return Returns the shopStreetAddress1.
> */
> public String getShopStreetAddress1() {
> return shopStreetAddress1;
> }
> /**
> * @param shopStreetAddress1 The shopStreetAddress1 to set.
> */
> public void setShopStreetAddress1(String shopStreetAddress1) {
> this.shopStreetAddress1 = shopStreetAddress1;
> }
> /**
> * @return Returns the shopStreetAddress2.
> */
> public String getShopStreetAddress2() {
> return shopStreetAddress2;
> }
> /**
> * @param shopStreetAddress2 The shopStreetAddress2 to set.
> */
> public void setShopStreetAddress2(String shopStreetAddress2) {
> this.shopStreetAddress2 = shopStreetAddress2;
> }
> /**
> * @return Returns the shopTypeId.
> */
> public int getShopTypeId() {
> return shopTypeId;
> }
> /**
> * @param shopTypeId The shopTypeId to set.
> */
> public void setShopTypeId(int shopTypeId) {
> this.shopTypeId = shopTypeId;
> }
> /**
> * @return Returns the shopZipCode.
> */
> public String getShopZipCode() {
> return shopZipCode;
> }
> /**
> * @param shopZipCode The shopZipCode to set.
> */
> public void setShopZipCode(String shopZipCode) {
> this.shopZipCode = shopZipCode;
> }
> /**
> * @return Returns the other20GroupsId.
> */
> public String getOther20GroupsId() {
> return other20GroupsId;
> }
> /**
> * @param other20GroupsId The other20GroupsId to set.
> */
> public void setOther20GroupsId(String other20GroupsId) {
> this.other20GroupsId = other20GroupsId;
> }
> /**
> * @return Returns the otherAffiliation.
> */
> public String getOtherAffiliation() {
> return otherAffiliation;
> }
> /**
> * @param otherAffiliation The otherAffiliation to set.
> */
> public void setOtherAffiliation(String otherAffiliation) {
> this.otherAffiliation = otherAffiliation;
> }
> /**
> * @return Returns the otherDealerGroup.
> */
> public String getOtherDealerGroup() {
> return otherDealerGroup;
> }
> /**
> * @param otherDealerGroup The otherDealerGroup to set.
> */
> public void setOtherDealerGroup(String otherDealerGroup) {
> this.otherDealerGroup = otherDealerGroup;
> }
> /**
> * @return Returns the otherFranchiseLines.
> */
> public String getOtherFranchiseLines() {
> return otherFranchiseLines;
> }
> /**
> * @param otherFranchiseLines The otherFranchiseLines to set.
> */
> public void setOtherFranchiseLines(String otherFranchiseLines) {
> this.otherFranchiseLines = otherFranchiseLines;
> }
> /**
> * @return Returns the otherMultiShopLocation.
> */
> public String getOtherMultiShopLocation() {
> return otherMultiShopLocation;
> }
> /**
> * @param otherMultiShopLocation The otherMultiShopLocation to set.
> */
> public void setOtherMultiShopLocation(String otherMultiShopLocation) {
> this.otherMultiShopLocation = otherMultiShopLocation;
> }
> /**
> * @return Returns the otherPaintBrands.
> */
> public String getOtherPaintBrands() {
> return otherPaintBrands;
> }
> /**
> * @param otherPaintBrands The otherPaintBrands to set.
> */
> public void setOtherPaintBrands(String otherPaintBrands) {
> this.otherPaintBrands = otherPaintBrands;
> }
> /**
> * @return Returns the shopHeadquarters.
> */
> public int getShopHeadquarters() {
> return shopHeadquarters;
> }
> /**
> * @param shopHeadquarters The shopHeadquarters to set.
> */
> public void setShopHeadquarters(int shopHeadquarters) {
> this.shopHeadquarters = shopHeadquarters;
> }
>
> /**
> * @return Returns the salesRep.
> */
> public String getSalesRep() {
> return salesRep;
> }
> /**
> * @param salesRep The salesRep to set.
> */
> public void setSalesRep(String salesRep) {
> this.salesRep = salesRep;
> }
> }
>
>
> --- Kris Jenkins <kr...@yahoo.co.uk> wrote:
>
> > Hey Prashanth,
> >
> > Can we see the code for Shop.java?
> >
> > Kris
> >
> > Prashanth Sukumaran wrote:
> >
> > >Hi,
> > >
> > >I am getting the following NestedSQLException. I think the problem is due to some null
> values
> > >stored in the database. Why should there be a Null Pointer Exception while setting the data
> > into
> > >the bean that i have passed?
> > >
> > >Has anybody got a similar error. I am also pasting the sql definition here.
> > >
> > >Thanks a lot
> > >
> > >Prashanth
> > >
> > >PS: IBatis is awsome. I love everything about the way it is done and way it helps me to
> write
> > >clean code. The XML representatioin of the SQL is the best. I don't like to have SQL in my
> > Java
> > >Code. Even though you will be adding new enhancements to iBatis, please keep this XML
> > >represenatation of SQL query as it is. Thanks a lot for all the hardwork you guys are putting
> > and
> > >make our lives easier.
> > >
> > >
> > ><select id="getShopByShopId" resultMap="shopResult" parameterClass="int">
> > >select
> > > SHOPID, SHOPNAME, SHOPSTREETADDRESS1, SHOPSTREETADDRESS2, SHOPCITY,
> > > STATEID, SHOPZIPCODE, REGIONID,
> > > DECODE(TBLSHOPS.TECHNICIAN,NULL,'', SALESMAN.SALESMAN_LAST_NM || ', ' ||
> > >SALESMAN.SALESMAN_FIRST_NM) SALESMAN_NAME
> > >from TBLSHOPS, SALESMAN
> > >WHERE TBLSHOPS.SHOPID = #value# AND
> > > TBLSHOPS.active = 'Y' AND
> > > TBLSHOPS.TECHNICIAN = SALESMAN.SALESMAN_ID (+)
> > >
> > ></select>
> > >
> > >
> > >Nested Exception is...
> > >com.ibatis.dao.client.DaoException: Failed to execute queryForObject - id [getShopByShopId],
> > >parameterObject [1877]. Cause: com.ibatis.common.jdbc.exception.NestedSQLException:
> > >--- The error occurred in
> > com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
> > >
> > >--- The error occurred while applying a result map.
> > >--- Check the Shop.shopResult.
> > >--- The error happened while setting a property on the result object.
> > >--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> > >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> > java.lang.NullPointerException
> > >Caused by: java.lang.NullPointerException
> > >Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> > >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> > java.lang.NullPointerException
> > >Caused by: java.lang.NullPointerException
> > >Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
> > >--- The error occurred in
> > com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
> > >
> > >--- The error occurred while applying a result map.
> > >--- Check the Shop.shopResult.
> > >--- The error happened while setting a property on the result object.
> > >--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> > >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> > java.lang.NullPointerException
> > >Caused by: java.lang.NullPointerException
> > >Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> > >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> > java.lang.NullPointerException
> > >Caused by: java.lang.NullPointerException
> > > at
> com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java:164)
> > >
> > >
> > >
> > >__________________________________
> > >Do you Yahoo!?
> > >Read only the mail you want - Yahoo! Mail SpamGuard.
> > >http://promotions.yahoo.com/new_mail
> > >
> > >
> > >
> > >
> >
> >
> > --
> > Kris Jenkins
> > Email: kris@jenkster.com
> > Blog: http://cafe.jenkster.com/
> > Wiki: http://wiki.jenkster.com/
> >
> >
> >
> > --
> > No virus found in this outgoing message.
> > Checked by AVG Anti-Virus.
> > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 12/01/2005
> >
> >
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Meet the all-new My Yahoo! - Try it today!
> http://my.yahoo.com
>
>
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250
Re: NestedSQLException
Posted by Prashanth Sukumaran <pr...@yahoo.com>.
Hi Kris,
Thanks for replying.
It is just a simple POJO. I created it using eclipse "Generate getters and setters".
I am pasting the bean here. I have p6spy enabled, I see that the SQL Query is returning exactly
one row. The <result-map> is a one to one mapping of the column name to the bean fields.
I am not defining what the "null" column value should be treated as. But that is not required
right. Also i feel the problem is with the "int" being mapped to "NULL".
Hasn't anybody had this error????? :-(
Thanks
Prashanth.
/*
* Created on Oct 7, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.wirelessmob.solutions.dataaccess.beans;
import java.util.List;
/**
* @author Prashanth Sukumaran
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Shop {
private int shopId;
private String shopName;
private String shopStreetAddress1;
private String shopStreetAddress2;
private String shopCity;
private String stateId;
private String shopZipCode;
private String shopPhone;
private String shopContact;
private String shopContactEmail;
private int multiShopLocationId;
private int multiShopHeadquarters;
private int shopTypeId;
private int dealerType;
private int dealerGroupId;
private int affiliationId;
private int groups20Id;
private String primaryDistName;
private String primaryDistCity;
private String primaryDistPhone;
private String primaryDistStateCd;
private String[] franchiseLinesIds;
private String[] paintBrandsIds;
private String franchiseLinesNames;
private String paintBrandNames;
private List sponsorDealers;
private String sdIds;
private String salesRep;
private int shopHeadquarters;
private String otherMultiShopLocation;
private String otherFranchiseLines;
private String otherDealerGroup;
private String otherPaintBrands;
private String other20GroupsId;
private String otherAffiliation;
private String createdBy;
private java.sql.Date createdDate;
private String modifiedBy;
private java.sql.Date modifiedDate;
public Shop() {
createdDate = new java.sql.Date(System.currentTimeMillis());
modifiedDate = new java.sql.Date(System.currentTimeMillis());
}
/**
* @return Returns the createdBy.
*/
public String getCreatedBy() {
return createdBy;
}
/**
* @param createdBy The createdBy to set.
*/
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
/**
* @return Returns the createdDate.
*/
public java.sql.Date getCreatedDate() {
return createdDate;
}
/**
* @param createdDate The createdDate to set.
*/
public void setCreatedDate(java.sql.Date createdDate) {
this.createdDate = createdDate;
}
/**
* @return Returns the modifiedBy.
*/
public String getModifiedBy() {
return modifiedBy;
}
/**
* @param modifiedBy The modifiedBy to set.
*/
public void setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
}
/**
* @return Returns the modifiedDate.
*/
public java.sql.Date getModifiedDate() {
return modifiedDate;
}
/**
* @param modifiedDate The modifiedDate to set.
*/
public void setModifiedDate(java.sql.Date modifiedDate) {
this.modifiedDate = modifiedDate;
}
/**
* @return Returns the paintBrandNames.
*/
public String getPaintBrandNames() {
return paintBrandNames;
}
/**
* @param paintBrandNames The paintBrandNames to set.
*/
public void setPaintBrandNames(String paintBrandNames) {
this.paintBrandNames = paintBrandNames;
}
/**
* @return Returns the franchiseLinesNames.
*/
public String getFranchiseLinesNames() {
return franchiseLinesNames;
}
/**
* @param franchiseLinesNames The franchiseLinesNames to set.
*/
public void setFranchiseLinesNames(String franchiseLinesNames) {
this.franchiseLinesNames = franchiseLinesNames;
}
/**
* @return Returns the sdIds.
*/
public String getSdIds() {
return sdIds;
}
/**
* @param sdIds The sdIds to set.
*/
public void setSdIds(String sdIds) {
this.sdIds = sdIds;
}
/**
* @return Returns the sponsorDealers.
*/
public List getSponsorDealers() {
return sponsorDealers;
}
/**
* @param sponsorDealers The sponsorDealers to set.
*/
public void setSponsorDealers(List sponsorDealers) {
this.sponsorDealers = sponsorDealers;
}
/**
* @return Returns the shopId.
*/
public int getShopId() {
return shopId;
}
/**
* @param shopId The shopId to set.
*/
public void setShopId(int shopId) {
this.shopId = shopId;
}
/**
* @return Returns the shopName.
*/
public String getShopName() {
return shopName;
}
/**
* @param shopName The shopName to set.
*/
public void setShopName(String shopName) {
this.shopName = shopName;
}
/**
* @return Returns the affiliationId.
*/
public int getAffiliationId() {
return affiliationId;
}
/**
* @param affiliationId The affiliationId to set.
*/
public void setAffiliationId(int affiliationId) {
this.affiliationId = affiliationId;
}
/**
* @return Returns the dealerGroupId.
*/
public int getDealerGroupId() {
return dealerGroupId;
}
/**
* @param dealerGroupId The dealerGroupId to set.
*/
public void setDealerGroupId(int dealerGroupId) {
this.dealerGroupId = dealerGroupId;
}
/**
* @return Returns the dealerType.
*/
public int getDealerType() {
return dealerType;
}
/**
* @param dealerType The dealerType to set.
*/
public void setDealerType(int dealerType) {
this.dealerType = dealerType;
}
/**
* @return Returns the franchiseLinesIds.
*/
public String[] getFranchiseLinesIds() {
return franchiseLinesIds;
}
/**
* @param franchiseLinesIds The franchiseLinesIds to set.
*/
public void setFranchiseLinesIds(String[] franchiseLinesIds) {
this.franchiseLinesIds = franchiseLinesIds;
}
/**
* @return Returns the groups20Id.
*/
public int getGroups20Id() {
return groups20Id;
}
/**
* @param groups20Id The groups20Id to set.
*/
public void setGroups20Id(int groups20Id) {
this.groups20Id = groups20Id;
}
/**
* @return Returns the multiShopHeadquarters.
*/
public int getMultiShopHeadquarters() {
return multiShopHeadquarters;
}
/**
* @param multiShopHeadquarters The multiShopHeadquarters to set.
*/
public void setMultiShopHeadquarters(int multiShopHeadquarters) {
this.multiShopHeadquarters = multiShopHeadquarters;
}
/**
* @return Returns the multiShopLocationId.
*/
public int getMultiShopLocationId() {
return multiShopLocationId;
}
/**
* @param multiShopLocationId The multiShopLocationId to set.
*/
public void setMultiShopLocationId(int multiShopLocationId) {
this.multiShopLocationId = multiShopLocationId;
}
/**
* @return Returns the paintBrandsIds.
*/
public String[] getPaintBrandsIds() {
return paintBrandsIds;
}
/**
* @param paintBrandsIds The paintBrandsIds to set.
*/
public void setPaintBrandsIds(String[] paintBrandsIds) {
this.paintBrandsIds = paintBrandsIds;
}
/**
* @return Returns the primaryDistCity.
*/
public String getPrimaryDistCity() {
return primaryDistCity;
}
/**
* @param primaryDistCity The primaryDistCity to set.
*/
public void setPrimaryDistCity(String primaryDistCity) {
this.primaryDistCity = primaryDistCity;
}
/**
* @return Returns the primaryDistName.
*/
public String getPrimaryDistName() {
return primaryDistName;
}
/**
* @param primaryDistName The primaryDistName to set.
*/
public void setPrimaryDistName(String primaryDistName) {
this.primaryDistName = primaryDistName;
}
/**
* @return Returns the primaryDistPhone.
*/
public String getPrimaryDistPhone() {
return primaryDistPhone;
}
/**
* @param primaryDistPhone The primaryDistPhone to set.
*/
public void setPrimaryDistPhone(String primaryDistPhone) {
this.primaryDistPhone = primaryDistPhone;
}
/**
* @return Returns the primaryDistStateCd.
*/
public String getPrimaryDistStateCd() {
return primaryDistStateCd;
}
/**
* @param primaryDistStateCd The primaryDistStateCd to set.
*/
public void setPrimaryDistStateCd(String primaryDistStateCd) {
this.primaryDistStateCd = primaryDistStateCd;
}
/**
* @return Returns the shopCity.
*/
public String getShopCity() {
return shopCity;
}
/**
* @param shopCity The shopCity to set.
*/
public void setShopCity(String shopCity) {
this.shopCity = shopCity;
}
/**
* @return Returns the shopContact.
*/
public String getShopContact() {
return shopContact;
}
/**
* @param shopContact The shopContact to set.
*/
public void setShopContact(String shopContact) {
this.shopContact = shopContact;
}
/**
* @return Returns the shopContactEmail.
*/
public String getShopContactEmail() {
return shopContactEmail;
}
/**
* @param shopContactEmail The shopContactEmail to set.
*/
public void setShopContactEmail(String shopContactEmail) {
this.shopContactEmail = shopContactEmail;
}
/**
* @return Returns the shopPhone.
*/
public String getShopPhone() {
return shopPhone;
}
/**
* @param shopPhone The shopPhone to set.
*/
public void setShopPhone(String shopPhone) {
this.shopPhone = shopPhone;
}
/**
* @return Returns the shopStateCd.
*/
public String getStateId() {
return stateId;
}
/**
* @param shopStateCd The shopStateCd to set.
*/
public void setStateId(String stateId) {
this.stateId = stateId;
}
/**
* @return Returns the shopStreetAddress1.
*/
public String getShopStreetAddress1() {
return shopStreetAddress1;
}
/**
* @param shopStreetAddress1 The shopStreetAddress1 to set.
*/
public void setShopStreetAddress1(String shopStreetAddress1) {
this.shopStreetAddress1 = shopStreetAddress1;
}
/**
* @return Returns the shopStreetAddress2.
*/
public String getShopStreetAddress2() {
return shopStreetAddress2;
}
/**
* @param shopStreetAddress2 The shopStreetAddress2 to set.
*/
public void setShopStreetAddress2(String shopStreetAddress2) {
this.shopStreetAddress2 = shopStreetAddress2;
}
/**
* @return Returns the shopTypeId.
*/
public int getShopTypeId() {
return shopTypeId;
}
/**
* @param shopTypeId The shopTypeId to set.
*/
public void setShopTypeId(int shopTypeId) {
this.shopTypeId = shopTypeId;
}
/**
* @return Returns the shopZipCode.
*/
public String getShopZipCode() {
return shopZipCode;
}
/**
* @param shopZipCode The shopZipCode to set.
*/
public void setShopZipCode(String shopZipCode) {
this.shopZipCode = shopZipCode;
}
/**
* @return Returns the other20GroupsId.
*/
public String getOther20GroupsId() {
return other20GroupsId;
}
/**
* @param other20GroupsId The other20GroupsId to set.
*/
public void setOther20GroupsId(String other20GroupsId) {
this.other20GroupsId = other20GroupsId;
}
/**
* @return Returns the otherAffiliation.
*/
public String getOtherAffiliation() {
return otherAffiliation;
}
/**
* @param otherAffiliation The otherAffiliation to set.
*/
public void setOtherAffiliation(String otherAffiliation) {
this.otherAffiliation = otherAffiliation;
}
/**
* @return Returns the otherDealerGroup.
*/
public String getOtherDealerGroup() {
return otherDealerGroup;
}
/**
* @param otherDealerGroup The otherDealerGroup to set.
*/
public void setOtherDealerGroup(String otherDealerGroup) {
this.otherDealerGroup = otherDealerGroup;
}
/**
* @return Returns the otherFranchiseLines.
*/
public String getOtherFranchiseLines() {
return otherFranchiseLines;
}
/**
* @param otherFranchiseLines The otherFranchiseLines to set.
*/
public void setOtherFranchiseLines(String otherFranchiseLines) {
this.otherFranchiseLines = otherFranchiseLines;
}
/**
* @return Returns the otherMultiShopLocation.
*/
public String getOtherMultiShopLocation() {
return otherMultiShopLocation;
}
/**
* @param otherMultiShopLocation The otherMultiShopLocation to set.
*/
public void setOtherMultiShopLocation(String otherMultiShopLocation) {
this.otherMultiShopLocation = otherMultiShopLocation;
}
/**
* @return Returns the otherPaintBrands.
*/
public String getOtherPaintBrands() {
return otherPaintBrands;
}
/**
* @param otherPaintBrands The otherPaintBrands to set.
*/
public void setOtherPaintBrands(String otherPaintBrands) {
this.otherPaintBrands = otherPaintBrands;
}
/**
* @return Returns the shopHeadquarters.
*/
public int getShopHeadquarters() {
return shopHeadquarters;
}
/**
* @param shopHeadquarters The shopHeadquarters to set.
*/
public void setShopHeadquarters(int shopHeadquarters) {
this.shopHeadquarters = shopHeadquarters;
}
/**
* @return Returns the salesRep.
*/
public String getSalesRep() {
return salesRep;
}
/**
* @param salesRep The salesRep to set.
*/
public void setSalesRep(String salesRep) {
this.salesRep = salesRep;
}
}
--- Kris Jenkins <kr...@yahoo.co.uk> wrote:
> Hey Prashanth,
>
> Can we see the code for Shop.java?
>
> Kris
>
> Prashanth Sukumaran wrote:
>
> >Hi,
> >
> >I am getting the following NestedSQLException. I think the problem is due to some null values
> >stored in the database. Why should there be a Null Pointer Exception while setting the data
> into
> >the bean that i have passed?
> >
> >Has anybody got a similar error. I am also pasting the sql definition here.
> >
> >Thanks a lot
> >
> >Prashanth
> >
> >PS: IBatis is awsome. I love everything about the way it is done and way it helps me to write
> >clean code. The XML representatioin of the SQL is the best. I don't like to have SQL in my
> Java
> >Code. Even though you will be adding new enhancements to iBatis, please keep this XML
> >represenatation of SQL query as it is. Thanks a lot for all the hardwork you guys are putting
> and
> >make our lives easier.
> >
> >
> ><select id="getShopByShopId" resultMap="shopResult" parameterClass="int">
> >select
> > SHOPID, SHOPNAME, SHOPSTREETADDRESS1, SHOPSTREETADDRESS2, SHOPCITY,
> > STATEID, SHOPZIPCODE, REGIONID,
> > DECODE(TBLSHOPS.TECHNICIAN,NULL,'', SALESMAN.SALESMAN_LAST_NM || ', ' ||
> >SALESMAN.SALESMAN_FIRST_NM) SALESMAN_NAME
> >from TBLSHOPS, SALESMAN
> >WHERE TBLSHOPS.SHOPID = #value# AND
> > TBLSHOPS.active = 'Y' AND
> > TBLSHOPS.TECHNICIAN = SALESMAN.SALESMAN_ID (+)
> >
> ></select>
> >
> >
> >Nested Exception is...
> >com.ibatis.dao.client.DaoException: Failed to execute queryForObject - id [getShopByShopId],
> >parameterObject [1877]. Cause: com.ibatis.common.jdbc.exception.NestedSQLException:
> >--- The error occurred in
> com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
> >
> >--- The error occurred while applying a result map.
> >--- Check the Shop.shopResult.
> >--- The error happened while setting a property on the result object.
> >--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> java.lang.NullPointerException
> >Caused by: java.lang.NullPointerException
> >Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> java.lang.NullPointerException
> >Caused by: java.lang.NullPointerException
> >Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
> >--- The error occurred in
> com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
> >
> >--- The error occurred while applying a result map.
> >--- Check the Shop.shopResult.
> >--- The error happened while setting a property on the result object.
> >--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> java.lang.NullPointerException
> >Caused by: java.lang.NullPointerException
> >Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
> >'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause:
> java.lang.NullPointerException
> >Caused by: java.lang.NullPointerException
> > at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java:164)
> >
> >
> >
> >__________________________________
> >Do you Yahoo!?
> >Read only the mail you want - Yahoo! Mail SpamGuard.
> >http://promotions.yahoo.com/new_mail
> >
> >
> >
> >
>
>
> --
> Kris Jenkins
> Email: kris@jenkster.com
> Blog: http://cafe.jenkster.com/
> Wiki: http://wiki.jenkster.com/
>
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 12/01/2005
>
>
__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com
Re: NestedSQLException
Posted by Kris Jenkins <kr...@yahoo.co.uk>.
Hey Prashanth,
Can we see the code for Shop.java?
Kris
Prashanth Sukumaran wrote:
>Hi,
>
>I am getting the following NestedSQLException. I think the problem is due to some null values
>stored in the database. Why should there be a Null Pointer Exception while setting the data into
>the bean that i have passed?
>
>Has anybody got a similar error. I am also pasting the sql definition here.
>
>Thanks a lot
>
>Prashanth
>
>PS: IBatis is awsome. I love everything about the way it is done and way it helps me to write
>clean code. The XML representatioin of the SQL is the best. I don't like to have SQL in my Java
>Code. Even though you will be adding new enhancements to iBatis, please keep this XML
>represenatation of SQL query as it is. Thanks a lot for all the hardwork you guys are putting and
>make our lives easier.
>
>
><select id="getShopByShopId" resultMap="shopResult" parameterClass="int">
>select
> SHOPID, SHOPNAME, SHOPSTREETADDRESS1, SHOPSTREETADDRESS2, SHOPCITY,
> STATEID, SHOPZIPCODE, REGIONID,
> DECODE(TBLSHOPS.TECHNICIAN,NULL,'', SALESMAN.SALESMAN_LAST_NM || ', ' ||
>SALESMAN.SALESMAN_FIRST_NM) SALESMAN_NAME
>from TBLSHOPS, SALESMAN
>WHERE TBLSHOPS.SHOPID = #value# AND
> TBLSHOPS.active = 'Y' AND
> TBLSHOPS.TECHNICIAN = SALESMAN.SALESMAN_ID (+)
>
></select>
>
>
>Nested Exception is...
>com.ibatis.dao.client.DaoException: Failed to execute queryForObject - id [getShopByShopId],
>parameterObject [1877]. Cause: com.ibatis.common.jdbc.exception.NestedSQLException:
>--- The error occurred in com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
>
>--- The error occurred while applying a result map.
>--- Check the Shop.shopResult.
>--- The error happened while setting a property on the result object.
>--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
>'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
>Caused by: java.lang.NullPointerException
>Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
>'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
>Caused by: java.lang.NullPointerException
>Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
>--- The error occurred in com/wirelessmob/solutions/dataaccess/persistence/sqlmapdao/sql/Shop.xml.
>
>--- The error occurred while applying a result map.
>--- Check the Shop.shopResult.
>--- The error happened while setting a property on the result object.
>--- Cause: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
>'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
>Caused by: java.lang.NullPointerException
>Caused by: com.ibatis.common.exception.NestedRuntimeException: Error setting properties of
>'com.wirelessmob.solutions.dataaccess.beans.Shop@187d27e'. Cause: java.lang.NullPointerException
>Caused by: java.lang.NullPointerException
> at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java:164)
>
>
>
>__________________________________
>Do you Yahoo!?
>Read only the mail you want - Yahoo! Mail SpamGuard.
>http://promotions.yahoo.com/new_mail
>
>
>
>
--
Kris Jenkins
Email: kris@jenkster.com
Blog: http://cafe.jenkster.com/
Wiki: http://wiki.jenkster.com/
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 12/01/2005