Read the rules before posting!
http://www.hibernate.org/ForumMailingli ... AskForHelp
[b]Hibernate version:[/b] 2
[b]Mapping documents:[/b]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://h
ibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.wm.idct.hb.ItemBean" table="WID_ITEM"
schema="IDCT" polymorphism="explicit">
<id column="UPC" name="UPC" type="java.lang.String" unsaved-value="null" length="13">
<generator class="assigned"/>
</id>
<property column="FEED_TYPE" length="1" name="FEED_TYPE" type="java.lang.String" update="true" insert="true" />
<property column="CHECKDIGIT_UPC" name="CHECKDIGIT_UPC" type="java.lang.String" length="14" />
<property column="WM_HOST_DESCRIPTION" name="WM_HOST_DESCRIPTION" type="java.lang.String" length="500" />
<property column="WM_DEPT_NAME" name="WM_DEPT_NAME" length="100" type="java.lang.String" />
<property column="IS_FORM33_VENDOR_READY" name="IS_FORM33_VENDOR_READY" type="java.lang.String" length="1" />
<property column="IS_DC_FORM_VENDOR_READY" name="IS_DC_FORM_VENDOR_READY" type="java.lang.String" length="1" />
<property column="IS_FORM33_BV_READY" name="IS_FORM33_BV_READY" type="java.lang.String" length="1" />
<property column="IS_SIMON_UPLOAD_READY" name="IS_SIMON_UPLOAD_READY" type="java.lang.String" length="1" />
<property column="IS_ORDER_READY" name="IS_ORDER_READY" type="java.lang.String" length="1" />
<property column="ORDER_REQ_EXP_DTM" name="ORDER_REQ_EXP_DTM" type="java.util.Date" />
<property column="IS_BUYER_COMPLETE" name="IS_BUYER_COMPLETE" type="java.lang.String" length="1" />
<property column="CREATED_DTM" name="CREATED_DTM" type="java.util.Date" />
<property column="TAB_MONTH" name="TAB_MONTH" type="java.lang.String" length="3" />
<property column="SEASONAL_ATTRIBUTE" name="SEASONAL_ATTRIBUTE" type="java.lang.String" length="30" />
<property column="FINE_LINE" name="FINE_LINE" type="java.lang.String" length="30" />
<property column="SIMON_UPLOAD_DTM" name="SIMON_UPLOAD_DTM" type="java.util.Date" />
<property column="TOOL_ID_IMP_DTM" name="TOOL_ID_IMP_DTM" type="java.util.Date" />
<property column="CONT_SENT_VEND_DTM" name="CONT_SENT_VEND_DTM" type="java.util.Date" />
<property column="CONT_RCVD_VEND_DTM" name="CONT_RCVD_VEND_DTM" type="java.util.Date" />
<property column="IMG_SUBMIT_DTM" name="IMG_SUBMIT_DTM" type="java.util.Date" />
<property column="CONT_IMG_FOLLOWUP_DTM" name="CONT_IMG_FOLLOWUP_DTM" type="java.util.Date" />
<property column="LONG_DESCRIPTION" name="LONG_DESCRIPTION" type="java.lang.String" length="4000" />
<property column="TOOL_ID" name="TOOL_ID" type="java.lang.Long" length="15" />
<property column="IS_ONLINE_ONLY" name="IS_ONLINE_ONLY" type="java.lang.String" length="1" />
<property column="ALT_ITEM_DESCRIPTION" name="ALT_ITEM_DESCRIPTION" type="java.lang.String" length="4000" />
<property column="ITEM_TYPE" name="ITEM_TYPE" type="java.lang.String" length="2" />
<property column="SUBMISSION_TYPE" name="SUBMISSION_TYPE" type="java.lang.String" length="1" />
<property column="PARENT_IDENTIFIER" name="PARENT_IDENTIFIER" type="java.lang.String" length="1" />
<property column="PARENT_UPC" name="PARENT_UPC" type="java.lang.String" length="13" />
<property column="REPT_HIER_DEPT" name="REPT_HIER_DEPT" type="java.lang.String" length="30" />
<property column="REPT_HIER_CAT" name="REPT_HIER_CAT" type="java.lang.String" length="30" />
<property column="REPT_HIER_SUB_CAT" name="REPT_HIER_SUB_CAT" type="java.lang.String" length="30" />
<property column="WM_ITEM_NUM" name="WM_ITEM_NUM" type="java.lang.String" length="9" />
<property column="VENDOR_NAME" name="VENDOR_NAME" type="java.lang.String" length="90" />
<property column="VENDOR_NUM" name="VENDOR_NUM" type="java.lang.String" length="2" />
<property column="SUPPLIER_NUM" name="SUPPLIER_NUM" type="java.lang.String" length="9" />
<property column="VENDOR_ITEM_NUM" name="VENDOR_ITEM_NUM" type="java.lang.String" length="50" />
<property column="WM_DEPT_NUM" name="WM_DEPT_NUM" type="java.lang.String" length="30" />
<property column="ITEM_COST" name="ITEM_COST" type="java.lang.Double" />
<property column="EA_COST" name="EA_COST" type="java.lang.Double" />
<property column="CURR_ITEM_PRICE" name="CURR_ITEM_PRICE" type="java.lang.Double" />
<property column="CURR_UNIT_PRICE" name="CURR_UNIT_PRICE" type="java.lang.Double" />
<property column="DISTTRIBUTOR_ID" name="DISTTRIBUTOR_ID" type="java.lang.Long" length="15" />
<property column="WATERMARK" name="WATERMARK" type="java.lang.String" length="1" />
<property column="BASE_UPC" name="BASE_UPC" type="java.lang.String" length="13" />
<property column="VARIANT_NAME_1" name="VARIANT_NAME_1" type="java.lang.String" length="30" />
<property column="VARIANT_VALUE_1" name="VARIANT_VALUE_1" type="java.lang.String" length="30" />
<property column="VARIANT_NAME_2" name="VARIANT_NAME_2" type="java.lang.String" length="30" />
<property column="VARIANT_VALUE_2" name="VARIANT_VALUE_2" type="java.lang.String" length="30" />
<property column="VARIANT_NAME_3" name="VARIANT_NAME_3" type="java.lang.String" length="30" />
<property column="VARIANT_VALUE_3" name="VARIANT_VALUE_3" type="java.lang.String" length="30" />
<property column="IS_BASE_SHOT_REQ" name="IS_BASE_SHOT_REQ" type="java.lang.String" length="1" />
<property column="IS_SWATCH_SHOT_REQ" name="IS_SWATCH_SHOT_REQ" type="java.lang.String" length="1" />
<property column="IS_ALT_VIEW_SHOT_REQ" name="IS_ALT_VIEW_SHOT_REQ" type="java.lang.String" length="1" />
<property column="IS_ALT_VIEW_DESC_REQ" name="IS_ALT_VIEW_DESC_REQ" type="java.lang.String" length="1" />
<property column="SPECIAL_PHOTOGRAPHY_INSTR" name="SPECIAL_PHOTOGRAPHY_INSTR" type="java.lang.String" length="1000" />
<property column="SUBMISSION_REASON" name="SUBMISSION_REASON" type="java.lang.String" length="255" />
<property column="AVAILABILITY_CODE" name="AVAILABILITY_CODE" type="java.lang.String" length="2" />
<property column="ITEM_CLASS_ID" name="ITEM_CLASS_ID" type="java.lang.Integer" length="5" />
<property column="MIN_DAYS_TO_SHIP" name="MIN_DAYS_TO_SHIP" type="java.lang.Integer" length="3" />
<property column="MAX_DAYS_TO_SHIP" name="MAX_DAYS_TO_SHIP" type="java.lang.Integer" length="3" />
<property column="STREET_DATE" name="STREET_DATE" type="java.util.Date" />
<property column="IS_WM_INVENTORY" name="IS_WM_INVENTORY" type="java.lang.String" length="1" />
<property column="IS_REPLENISHABLE" name="IS_REPLENISHABLE" type="java.lang.String" length="1" />
<property column="START_DATE" name="START_DATE" type="java.util.Date" />
<property column="END_DATE" name="END_DATE" type="java.util.Date" />
<property column="IDG_ID" name="IDG_ID" type="java.lang.Short" length="3" />
<property column="SHIPPING_DIM_X" name="SHIPPING_DIM_X" type="java.lang.Double" length="12" />
<property column="SHIPPING_DIM_Y" name="SHIPPING_DIM_Y" type="java.lang.Double" length="12" />
<property column="SHIPPING_DIM_Z" name="SHIPPING_DIM_Z" type="java.lang.Double" length="12" />
<property column="SHIPPING_DIM_W" name="SHIPPING_DIM_W" type="java.lang.Double" length="12" />
<property column="BUYER_NAME" name="BUYER_NAME" type="java.lang.String" length="255" />
<property column="ORDER_COMMENT" name="ORDER_COMMENT" type="java.lang.String" length="500" />
<property column="ORDER_DATE" name="ORDER_DATE" type="java.util.Date" />
<property column="INITIAL_ORDER_QTY" name="INITIAL_ORDER_QTY" type="java.lang.Long" />
<property column="SHIP_DATE" name="SHIP_DATE" type="java.util.Date" />
<property column="CANCEL_DATE" name="CANCEL_DATE" type="java.util.Date" />
<property column="ORDER_EXECUTE_DTM" name="ORDER_EXECUTE_DTM" type="java.util.Date" />
<property column="CURR_OH" name="CURR_OH" type="java.lang.Long" length="10" />
<property column="CURR_OO" name="CURR_OO" type="java.lang.Long" length="10" />
<property column="CURR_RIP" name="CURR_RIP" type="java.lang.Long" length="10" />
<property column="CURR_ATS" name="CURR_ATS" type="java.lang.Long" length="10" />
<property column="ACTUAL_SHIPPING_COST" name="ACTUAL_SHIPPING_COST" type="java.lang.Double" length="12" />
<property column="SHIPPING_SUBSIDY" name="SHIPPING_SUBSIDY" type="java.lang.Double" length="12" />
<property column="SHIPPING_CUSTOMER_CHARGE" name="SHIPPING_CUSTOMER_CHARGE" type="java.lang.Double" length="12" />
<property column="SITE_PUBLISH_DTM" name="SITE_PUBLISH_DTM" type="java.util.Date" />
<property column="COMMENTS" name="COMMENTS" type="java.lang.String" length="500" />
<property column="SUB_TYPE" name="SUB_TYPE" type="java.lang.String" length="2" />
<property column="ITEM_COLOR" name="ITEM_COLOR" type="java.lang.String" length="6" />
<property column="ITEM_SIZE" name="ITEM_SIZE" type="java.lang.String" length="6" />
<property column="UPC_DESCRIPTION" name="UPC_DESCRIPTION" type="java.lang.String" length="500" />
<property column="UOM_CODE" name="UOM_CODE" type="java.lang.String" length="5" />
<property column="UOM_QTY" name="UOM_QTY" type="java.lang.Float" length="5" />
<property column="SUPPLIER_PACK_XYZ" name="SUPPLIER_PACK_XYZ" type="java.lang.String" length="50" />
<property column="SUPPLIER_PACK_WEIGHT" name="SUPPLIER_PACK_WEIGHT" type="java.lang.Double" length="12" />
<property column="SUPPLIER_PACK_QTY" name="SUPPLIER_PACK_QTY" type="java.lang.Long" length="12" />
<property column="SUPPLIER_PACK_EXT_COST" name="SUPPLIER_PACK_EXT_COST" type="java.lang.Double" length="12" /
>
<property column="WAREHOUSE_PACK_QTY" name="WAREHOUSE_PACK_QTY" type="java.lang.Long" length="12" />
<property column="MARK_UP" name="MARK_UP" type="java.lang.Double" length="12" />
<property column="MOD_CAT" name="MOD_CAT" type="java.lang.String" length="30" />
<property column="CLASSING" name="CLASSING" type="java.lang.Short" length="2" />
<property column="CANNED_ORDER_QTY" name="CANNED_ORDER_QTY" type="java.lang.Long" length="8" />
<property column="ITEM_SEND_TRAITS" name="ITEM_SEND_TRAITS" type="java.lang.String" length="6" />
<property column="ITEM_OMIT_TRAITS" name="ITEM_OMIT_TRAITS" type="java.lang.String" length="6" />
<property column="SIGNING_DESCRIPTION" name="SIGNING_DESCRIPTION" type="java.lang.String" length="40" />
<property column="PROJECTED_SALE" name="PROJECTED_SALE" type="java.lang.Long" length="9" />
<property column="WAREHOUSE_ALIGNMENT" name="WAREHOUSE_ALIGNMENT" type="java.lang.String" length="6" />
<property column="TEMP" name="TEMP" type="java.lang.String" length="6" />
<property column="MAX_QTY" name="MAX_QTY" type="java.lang.Long" length="9" />
<property column="REPLACE_XREF_ITEM_NUM" name="REPLACE_XREF_ITEM_NUM" type="java.lang.String" length="9" />
<property column="COMMENT_CODE" name="COMMENT_CODE" type="java.lang.String" length="10" />
<property column="STORE_COMMENTS" name="STORE_COMMENTS" type="java.lang.String" length="255" />
<property column="EFFECTIVE_DATE" name="EFFECTIVE_DATE" type="java.util.Date" />
<property column="IS_SHIP_TO_STORES" name="IS_SHIP_TO_STORES" type="java.lang.String" length="1" />
<property column="IS_ITEM_COMPLETE" name="IS_ITEM_COMPLETE" type="java.lang.String" length="1" />
<property column="APRL_UPC_CHECK_DIGIT" name="APRL_UPC_CHECK_DIGIT" type="java.lang.String" length="14" />
<property column="APRL_BASE_COLOR" name="APRL_BASE_COLOR" type="java.lang.String" length="6" />
<property column="APRL_VENDOR_PACK" name="APRL_VENDOR_PACK" type="java.lang.Long" length="5" />
<property column="APRL_BRAND" name="APRL_BRAND" type="java.lang.String" length="50" />
<property column="APRL_FABRIC_CONT_BD" name="APRL_FABRIC_CONT_BD" type="java.lang.String" length="255" />
<property column="APRL_CARE_INSTR" name="APRL_CARE_INSTR" type="java.lang.String" length="255" />
<property column="APRL_ORIGIN_COUNTRY" name="APRL_ORIGIN_COUNTRY" type="java.lang.String" length="100" />
<property column="APRL_FACTORY_ADDRESS" name="APRL_FACTORY_ADDRESS" type="java.lang.String" length="255" />
<property column="APRL_FACTORY_CONTACT" name="APRL_FACTORY_CONTACT" type="java.lang.String" length="255" />
<property column="APRL_CONTACT_PHONE" name="APRL_CONTACT_PHONE" type="java.lang.String" length="100" />
<property column="VDG_MANUFACTURER" name="VDG_MANUFACTURER" type="java.lang.String" length="100" />
<property column="VDG_PLATFORM" name="VDG_PLATFORM" type="java.lang.String" length="100" /> <property column="VDG_GENRE" name="VDG_GENRE" type="java.lang.String" length="100" />
<property column="VDG_SUB_GENRE" name="VDG_SUB_GENRE" type="java.lang.String" length="100" />
<property column="VDG_SECOND_SUPPL_NAME" name="VDG_SECOND_SUPPL_NAME" type="java.lang.String" length="100" />
<property column="VDG_SECOND_SUPPL_NUM" name="VDG_SECOND_SUPPL_NUM" type="java.lang.String" length="9" />
<property column="APRL_SEASON_CODE" name="APRL_SEASON_CODE" type="java.lang.String" length="3" />
<property column="IS_APRL_IMP_BUYER_DATA_CMPLT" name="IS_APRL_IMP_BUYER_DATA_CMPLT" type="java.lang.String" l
ength="1" />
<property column="IS_APRL_DOM_BUYER_DATA_CMPLT" name="IS_APRL_DOM_BUYER_DATA_CMPLT" type="java.lang.String" l
ength="1" />
<property column="IS_PERISHABLE" name="IS_PERISHABLE" type="java.lang.String" length="1"/>
<property column="IS_ORMD" name="IS_ORMD" type="java.lang.String" length="1"/>
<property column="ASSEMBLY_COUNTRY" name="ASSEMBLY_COUNTRY" type="java.lang.String" length="30"/>
<property column="APRL_IS_BASE_ITEM" name="APRL_IS_BASE_ITEM" type="java.lang.String" length="1"/>
<property column="IS_DC_FORMA_VENDOR_READY" name="IS_DC_FORMA_VENDOR_READY" type="java.lang.String" length="1
"/>
<property column="IS_DC_FORMB_VENDOR_READY" name="IS_DC_FORMB_VENDOR_READY" type="java.lang.String" length="1
"/>
<property column="CONT_CATALOG_SUBMIT_DTM" name="CONT_CATALOG_SUBMIT_DTM" type="java.util.Date"/>
<property column="REP_HIER_CAT_NAME" name="REP_HIER_CAT_NAME" type="java.lang.String" length="100"/>
<property column="VDG_PREDELIVERY_SUBMIT_DTM" name="VDG_PREDELIVERY_SUBMIT_DTM" type="java.util.Date"/>
<property column="CREATED_BY" name="CREATED_BY" type="java.lang.String" length="30"/>
<property column="MODIFIED_BY" name="MODIFIED_BY" type="java.lang.String" length="30"/>
<property column="WAREHOUSE_PACK_EXT_SELL" name="WAREHOUSE_PACK_EXT_SELL" type="java.lang.Double"/>
<property column="FORM33_VENDOR_EXP_DTM" name="FORM33_VENDOR_EXP_DTM" type="java.util.Date"/>
<property column="FORM33_VENDOR_IMP_DTM" name="FORM33_VENDOR_IMP_DTM" type="java.util.Date"/>
<property column="FORMA_VENDOR_EXP_DTM" name="FORMA_VENDOR_EXP_DTM" type="java.util.Date"/>
<property column="FORMA_VENDOR_IMP_DTM" name="FORMA_VENDOR_IMP_DTM" type="java.util.Date"/>
<property column="FORMB_VENDOR_EXP_DTM" name="FORMB_VENDOR_EXP_DTM" type="java.util.Date"/>
<property column="FORMB_VENDOR_IMP_DTM" name="FORMB_VENDOR_IMP_DTM" type="java.util.Date"/>
<property column="FORM33_BV_EXP_DTM" name="FORM33_BV_EXP_DTM" type="java.util.Date"/>
<property column="FORM33_BV_IMP_DTM" name="FORM33_BV_IMP_DTM" type="java.util.Date"/>
<property column="IS_FORM33_VENDOR_ERROR" name="IS_FORM33_VENDOR_ERROR" type="java.lang.String" length="1"
/>
<property column="IS_FORM33_BV_ERROR" name="IS_FORM33_BV_ERROR" type="java.lang.String" length="1"
/>
<property column="SIMON_UPLOAD_EXP_DTM" name="SIMON_UPLOAD_EXP_DTM" type="java.util.Date"/>
<property column="SIMON_OUTPUT_IMP_DTM" name="SIMON_OUTPUT_IMP_DTM" type="java.util.Date"/>
<property column="IS_SIMON_OUTPUT_ERROR" name="IS_SIMON_OUTPUT_ERROR" type="java.lang.String" length="1"
/>
<property column="ORDER_REQUEST_EXP_DTM" name="ORDER_REQUEST_EXP_DTM" type="java.util.Date"/>
<property column="ORDER_REQUEST_IMP_DTM" name="ORDER_REQUEST_IMP_DTM" type="java.util.Date"/>
<property column="IS_FORMA_VENDOR_ERROR" name="IS_FORMA_VENDOR_ERROR" type="java.lang.String" length="1"
/>
<property column="IS_FORMB_VENDOR_ERROR" name="IS_FORMB_VENDOR_ERROR" type="java.lang.String" length="1"
/>
<set name="ActivityLog" cascade="none" inverse="false" lazy="false" table="WID_ITEM_DATE" schema="IDCT" order
-by="EVENT_DTM desc">
<key column="UPC"/>
<one-to-many class="com.wm.idct.hb.ItemDate"/>
</set>
</class>
</hibernate-mapping>
[b]Code between sessionFactory.openSession() and session.close():[/b]
s = HibernateUtil.currentSession();
q = s.createQuery( "SELECT item from com.wm.idct.hb.ItemBean item "
+ "WHERE "
+ conditions
+ " order by item.UPC" );
rv = q.list();
}catch( HibernateException he ){
getLog().log( Level.INFO, "Unable to retrieve ItemBean(s) based upon query[ "
+ ((q != null )?q.getQueryString() : "") + "]", he );
}finally{
if( s != null ){
try{ s.close(); }
catch( HibernateException he2 ){ getLog().log( Level.INFO, "Unable to close session.", he2 ); }
}
}
[b]Full stack trace of any exception that occurs:[/b]
Apr 7, 2005 5:29:11 AM com.wm.idct.hb.ItemBeanManager getItems
INFO: Unable to retrieve ItemBean(s) based upon query[ SELECT item from com.wm.idct.hb.It
emBean item WHERE item.FEED_TYPE = '2' AND item.IS_SIMON_OUTPUT_ERROR is null AND item.OR
DER_REQUEST_EXP_DTM is null AND item.FORM33_BV_IMP_DTM is null AND item.FORMB_VENDOR_IMP_
DTM is null AND item.TOOL_ID is null AND item.ORDER_REQUEST_IMP_DTM is null AND item.IS_F
ORMB_VENDOR_ERROR is null AND item.FORM33_BV_EXP_DTM is not null AND item.IS_FORM33_VENDO
R_ERROR is null AND item.SIMON_OUTPUT_IMP_DTM is null AND item.WM_ITEM_NUM is null AND it
em.SIMON_UPLOAD_EXP_DTM is null AND item.FORMA_VENDOR_EXP_DTM is null AND item.FORMB_VEND
OR_EXP_DTM is null AND item.FORMA_VENDOR_IMP_DTM is null AND item.FORM33_VENDOR_EXP_DTM i
s not null AND item.IS_FORM33_BV_ERROR is null AND item.FORM33_VENDOR_IMP_DTM is not null
order by item.UPC]
net.sf.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling
setter of com.wm.idct.hb.ItemBean.ITEM_COST
at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyA
ccessor.java:68)
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractE
ntityPersister.java:222)
at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2210)
at net.sf.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:31
5)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:305)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.j
ava:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at com.wm.idct.hb.ItemBeanManager.getItems(ItemBeanManager.java:243)
at com.wm.idct.hb.ItemBeanManager.getItemsByCriteria(ItemBeanManager.java:198)
at com.wm.idct.struts.IDCTAction.getItemsByConditions(IDCTAction.java:591)
at com.wm.idct.struts.IDCTAction.getItems(IDCTAction.java:559)
at com.wm.idct.struts.ViewEditAction.execute(ViewEditAction.java:136)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcesso
r.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java
:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java
:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.ja
va:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:1
74)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:
619)
at java.lang.Thread.run(Thread.java:534)
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.j
ava:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyA
ccessor.java:38)
... 52 more
Apr 7, 2005 5:29:11 AM com.wm.idct.struts.IDCTAction getItemsByConditions
INFO: Items found: 0
[b]Name and version of the database you are using:[/b] Oracle 9i on Solaris
[b]The generated SQL (show_sql=true):[/b]
SELECT item from com.wm.idct.hb.It
emBean item WHERE item.FEED_TYPE = '2' AND item.IS_SIMON_OUTPUT_ERROR is null AND item.OR
DER_REQUEST_EXP_DTM is null AND item.FORM33_BV_IMP_DTM is null AND item.FORMB_VENDOR_IMP_
DTM is null AND item.TOOL_ID is null AND item.ORDER_REQUEST_IMP_DTM is null AND item.IS_F
ORMB_VENDOR_ERROR is null AND item.FORM33_BV_EXP_DTM is not null AND item.IS_FORM33_VENDO
R_ERROR is null AND item.SIMON_OUTPUT_IMP_DTM is null AND item.WM_ITEM_NUM is null AND it
em.SIMON_UPLOAD_EXP_DTM is null AND item.FORMA_VENDOR_EXP_DTM is null AND item.FORMB_VEND
OR_EXP_DTM is null AND item.FORMA_VENDOR_IMP_DTM is null AND item.FORM33_VENDOR_EXP_DTM i
s not null AND item.IS_FORM33_BV_ERROR is null AND item.FORM33_VENDOR_IMP_DTM is not null
order by item.UPC
[b]Debug level Hibernate log excerpt:[/b]
INFO
Although the mapping document is very long -- we have a table with about 150 columns w/o complex associations. I have generated a class com.wm.idct.hb.Item with hbm2java; which I then modified by making all the methods (getters/setters) public. I created a class com.wm.idct.hb.ItemBean which extends Item and contains setters which accept only String arguments (for user-facing dataentry) which then call the inherited setters after validating the input received. Note that the mapping document refers to the child class (ItemBean).
This has been working for the past several months, until yesterday, when I started seeing the exception in the logs. I grepped through all my stored logs (325 Mb worth) and haven't found any trace of this exception in the past.
Reading up on java reflection, and the hibernate 2 source code for BasicSetter -- it seems as though the first setter with the appropriate name is used -- even with the parameter types aren't appropriate (they aren't checked). Has anyone else run into this?
I know that I can workaround this by changing the signatures of the child class' methods to accept an Object rather than a String as the argument, then add a type check and pass to the inherited setter; but, I'd rather not make this change.