what is the driver and database that you are using?
On Fri, 18 Feb 2005 11:26:35 -0500, Mike Zatko <[EMAIL PROTECTED]> wrote: > 2.0.9 > > Brandon Goodin wrote: > > >what version of ibatis are you using? > > > > > >On Fri, 18 Feb 2005 11:16:23 -0500, Mike Zatko <[EMAIL PROTECTED]> wrote: > > > > > >>*I tried it and it does not work. My error is as follows:* > >> > >>ResultSetLogProxy.java|41|DEBUG|2005-02-18 > >>11:13:16,756|3766|{rset-100020} ResultSet > >>PromotionFacadeSqlMapsImpl.java|71|ERROR|2005-02-18 11:13:16,772|3782| > >>--- The error occurred in configs/sqlmaps/promotions-sql.xml. > >>--- The error occurred while applying a result map. > >>--- Check the adjustment.getPromotionActionMap. > >>--- The error happened while setting a property on the result object. > >>--- Cause: com.ibatis.common.beans.ProbeException: Could not set > >>property 'numberOfItems' for > >>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > >>java.lang.IllegalArgumentException > >>Caused by: java.lang.IllegalArgumentException > >>com.ibatis.common.jdbc.exception.NestedSQLException: > >>--- The error occurred in configs/sqlmaps/promotions-sql.xml. > >>--- The error occurred while applying a result map. > >>--- Check the adjustment.getPromotionActionMap. > >>--- The error happened while setting a property on the result object. > >>--- Cause: com.ibatis.common.beans.ProbeException: Could not set > >>property 'numberOfItems' for > >>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > >>java.lang.IllegalArgumentException > >>Caused by: java.lang.IllegalArgumentException > >>Caused by: com.ibatis.common.beans.ProbeException: Could not set > >>property 'numberOfItems' for > >>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > >>java.lang.IllegalArgumentException > >>Caused by: java.lang.IllegalArgumentException > >> 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:561) > >> at > >>com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536) > >> at > >>com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:97) > >> at > >>com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:69) > >> at > >>com.boscovs.commerce.promotion.PromotionFacadeSqlMapsImpl.applyPromotions(PromotionFacadeSqlMapsImpl.java:61) > >> at test.PromotionTest.execute(PromotionTest.java:106) > >> at test.PromotionTest.main(PromotionTest.java:171) > >>Caused by: com.ibatis.common.beans.ProbeException: Could not set > >>property 'numberOfItems' for > >>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > >>java.lang.IllegalArgumentException > >>Caused by: java.lang.IllegalArgumentException > >> at > >>com.ibatis.common.beans.JavaBeanProbe.setProperty(JavaBeanProbe.java:309) > >> at > >>com.ibatis.common.beans.JavaBeanProbe.setObject(JavaBeanProbe.java:229) > >> at com.ibatis.common.beans.GenericProbe.setObject(GenericProbe.java:73) > >> at > >>com.ibatis.sqlmap.engine.accessplan.ComplexAccessPlan.setProperties(ComplexAccessPlan.java:34) > >> at > >>com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanDataExchange.java:112) > >> at > >>com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectValues(BasicResultMap.java:296) > >> at > >>com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:60) > >> at > >>com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:355) > >> at > >>com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:179) > >> at > >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:200) > >> at > >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:168) > >> ... 8 more > >>Caused by: java.lang.IllegalArgumentException > >> 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 > >>com.ibatis.common.beans.JavaBeanProbe.setProperty(JavaBeanProbe.java:298) > >> ... 18 more > >> > >>*Is it possible that its my database that is the problem? I am using DB2 > >>V7.2.* > >> > >> > >>Brandon Goodin wrote: > >> > >> > >> > >>>I would recommend that you specify the jdbcType in your result. > >>> > >>><result property="numberOfItems" column="min_item_quantity" > >>>jdbcType="INTEGER" javaType="int"/> > >>> > >>>On Fri, 18 Feb 2005 06:55:01 -0800 (PST), Karen Koch > >>><[EMAIL PROTECTED]> wrote: > >>> > >>> > >>> > >>> > >>>>Are you perhaps missing the parameterClass arg on the statement itself? > >>>> > >>>>--- Mike Zatko <[EMAIL PROTECTED]> wrote: > >>>> > >>>> > >>>> > >>>> > >>>> > >>>>>/*I have a table as follows:*/ > >>>>> > >>>>>sqltype sqllen sqlname.data > >>>>>sqlname.length > >>>>>-------------------- ------ ------------------------------ > >>>>>-------------- > >>>>>492 BIGINT 8 > >>>>>PROMO_ACTION_ID 15 > >>>>>492 BIGINT 8 > >>>>>PROMOTION_ID 12 > >>>>>452 CHARACTER 1 > >>>>>ACTIONTYPE 10 > >>>>>497 INTEGER 4 > >>>>>MIN_ITEM_QUANTITY 17 > >>>>>485 DECIMAL 20, 5 > >>>>>MIN_SINGLE_ITEM_VALUE 21 > >>>>>485 DECIMAL 20, 5 > >>>>>MIN_TOTAL_ITEM_VALUE 20 > >>>>>485 DECIMAL 20, 5 > >>>>>MIN_ORDER_VALUE 15 > >>>>> > >>>>> > >>>>>/*I have the following ResultMap*/ > >>>>> > >>>>> <resultMap id="getPromotionActionMap" > >>>>>class="com.boscovs.commerce.promotion.dao.ActionDAO"> > >>>>> <result property="type" column="actiontype" /> > >>>>> <result property="numberOfItems" column="min_item_quantity" > >>>>>javaType="int"/> > >>>>> <result property="individualItemValue" > >>>>>column="min_single_item_value" javaType="double"/> > >>>>> <result property="totalItemValue" column="min_total_item_value" > >>>>>javaType="double"/> > >>>>> <result property="totalValue" column="min_order_value" > >>>>>javaType="double"/> > >>>>> </resultMap> > >>>>> > >>>>> > >>>>> <select id="getPromotionAction" resultMap="getPromotionActionMap"> > >>>>> <![CDATA[Select a.actiontype, a.min_item_quantity, > >>>>> a.min_single_item_value, > >>>>> a.min_total_item_value, > >>>>> a.min_order_value > >>>>> from DB2USR.PROMOTION as p, DB2USR.PROMO_ACTION a > >>>>> where p.promotion_id = a.promotion_id > >>>>> and p.promotion_id = #value# > >>>>> and p.status='A']]> > >>>>> </select> > >>>>> > >>>>> > >>>>>/*My bean is as follows*/ > >>>>> > >>>>>public class ActionDAO { > >>>>> > >>>>> public static enum Selected { > >>>>> UNSELECTED, NO_ACTION, ADDS_X_ITEMS, TOTAL_ORDER_VALUE_AT_LEAST_X > >>>>> } > >>>>> > >>>>> private Selected selected = Selected.UNSELECTED; > >>>>> private XItems xItems; > >>>>> private double totalValue; > >>>>> private int numberOfItems; > >>>>> private double individualItemValue; > >>>>> private double totalItemValue; > >>>>> private String type; > >>>>> > >>>>> > >>>>> /** > >>>>> * @return > >>>>> */ > >>>>> public Selected getSelected() { > >>>>> return selected; > >>>>> } > >>>>> > >>>>> /** > >>>>> * @return > >>>>> */ > >>>>> public double getTotalValue() { > >>>>> return totalValue; > >>>>> } > >>>>> > >>>>> /** > >>>>> * @return > >>>>> */ > >>>>> public XItems getXItems() { > >>>>> return xItems; > >>>>> } > >>>>> > >>>>> /** > >>>>> * @param i > >>>>> */ > >>>>> public void setSelected(Selected i) { > >>>>> selected = i; > >>>>> } > >>>>> > >>>>> /** > >>>>> * @param d > >>>>> */ > >>>>> public void setTotalValue(double d) { > >>>>> totalValue = d; > >>>>> } > >>>>> > >>>>> /** > >>>>> * @param items > >>>>> */ > >>>>> public void setXItems(XItems items) { > >>>>> xItems = items; > >>>>> } > >>>>> > >>>>> public void setType(String type) { > >>>>> this.type = type; > >>>>> } > >>>>> > >>>>> public double getIndividualItemValue() { > >>>>> return individualItemValue; > >>>>> } > >>>>> public void setIndividualItemValue(double individualItemValue) { > >>>>> this.individualItemValue = individualItemValue; > >>>>> } > >>>>> public int getNumberOfItems() { > >>>>> return numberOfItems; > >>>>> } > >>>>> public void setNumberOfItems(int numberOfItems) { > >>>>> this.numberOfItems = numberOfItems; > >>>>> } > >>>>> public double getTotalItemValue() { > >>>>> return totalItemValue; > >>>>> } > >>>>> public void setTotalItemValue(double totalItemValue) { > >>>>> this.totalItemValue = totalItemValue; > >>>>> } > >>>>> /** > >>>>> * toString method: creates a String representation of the object > >>>>> * @return the String representation > >>>>> * @author > >>>>> */ > >>>>> public String toString() { > >>>>> StringBuffer buffer = new StringBuffer(); > >>>>> buffer.append("ActionDAO["); > >>>>> buffer.append("individualItemValue = > >>>>> ").append(individualItemValue); > >>>>> buffer.append(", numberOfItems = ").append(numberOfItems); > >>>>> buffer.append(", selected = ").append(selected); > >>>>> buffer.append(", totalItemValue = ").append(totalItemValue); > >>>>> buffer.append(", totalValue = ").append(totalValue); > >>>>> buffer.append(", type = ").append(type); > >>>>> buffer.append(", xItems = ").append(xItems); > >>>>> buffer.append("]"); > >>>>> return buffer.toString(); > >>>>> }} > >>>>> > >>>>> > >>>>> > >>>>>/*I get an IllegalArgumentException from all this query. The developers > >>>>>guide infers that you can use primitives in your definitions. Does it? > >>>>>Or am I doing something stupid and not realizing it? BTW, it works if I > >>>>>use Wrapper classes, but I don't want to have to go through all of my > >>>>>beans and covert them. Thanks for any help.*/ > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> > >>> > >>-- > >>Michael H. Zatko > >>Java Enterprise Developer > >>Boscov's Information Services > >>Work: 610-929-7317 > >>Home: 610-376-1624 > >>Page: 610-736-4460 > >> > >> > >> > >> > > > > > > > > -- > Michael H. Zatko > Java Enterprise Developer > Boscov's Information Services > Work: 610-929-7317 > Home: 610-376-1624 > Page: 610-736-4460 > >