HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred while calling setter of emp.shop.model.Orders.orderItem; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of emp.shop.model.Orders.orderItem
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
root cause org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred while calling setter of emp.shop.model.Orders.orderItem; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of emp.shop.model.Orders.orderItem
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:668)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:830)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:822)
emp.shop.dao.OrderDaoImpl.queryOrderByOrderId(OrderDaoImpl.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
$Proxy4.queryOrderByOrderId(Unknown Source)
emp.shop.action.BackOrderDetailAction.execute(BackOrderDetailAction.java:32)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
root cause org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of emp.shop.model.Orders.orderItem
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3499)
org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
org.hibernate.loader.Loader.doQuery(Loader.java:717)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.doList(Loader.java:2144)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
org.hibernate.loader.Loader.list(Loader.java:2023)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:393)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:839)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:830)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:822)
emp.shop.dao.OrderDaoImpl.queryOrderByOrderId(OrderDaoImpl.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
$Proxy4.queryOrderByOrderId(Unknown Source)
emp.shop.action.BackOrderDetailAction.execute(BackOrderDetailAction.java:32)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
root cause java.lang.IllegalArgumentException: argument type mismatch
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3499)
org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
org.hibernate.loader.Loader.doQuery(Loader.java:717)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.doList(Loader.java:2144)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
org.hibernate.loader.Loader.list(Loader.java:2023)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:393)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:839)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:830)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:822)
emp.shop.dao.OrderDaoImpl.queryOrderByOrderId(OrderDaoImpl.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
$Proxy4.queryOrderByOrderId(Unknown Source)
emp.shop.action.BackOrderDetailAction.execute(BackOrderDetailAction.java:32)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.点“订单查询”就出现这样的错误。

解决方案 »

  1.   

    你把出错的severlet代码贴出来嘛,500代码错误
      

  2.   

    while calling setter of emp.shop.model.Orders.orderItem检查setter方法格式是否正确。
      

  3.   

    IllegalArgumentException 非法参数异常emp.shop.dao.OrderDaoImpl.queryOrderByOrderId(OrderDaoImpl.java:44)
    你看是不是传递了非法的参数
    emp.shop.model.Orders.orderItem
      

  4.   

    package emp.shop.dao;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import emp.shop.idao.IOrderDao;
    import emp.shop.model.Orders;public class OrderDaoImpl extends HibernateDaoSupport implements IOrderDao { public void addOrder(Orders orders) { this.getHibernateTemplate().save(orders);
    } public void deleteOrder(int order_id) { } public void modifyOrder(int order_id) { } public Orders queryOrderByUserId(int user_id) {

    List orderList = this.getHibernateTemplate().find("from Orders where user.user_id='"+user_id+"'");
    Orders orders = null;
    if(orderList.size() == 1){
    orders = (Orders) orderList.get(0);
    }
    return orders;
    }

    public List<Orders> queryOrderByList(int user_id) {

    List<Orders> orderList = this.getHibernateTemplate().find("from Orders where user.user_id="+user_id);

    return orderList;
    } public Orders queryOrderByOrderId(int order_id) {

    Orders orders = (Orders) this.getHibernateTemplate().find("from Orders where order_id =" +order_id);

    return orders;
    }}
      

  5.   

    你的order类里的属性类型和数据库此表字段类型不一致造成的吧
      

  6.   


    public Orders queryOrderByOrderId(int order_id) {

    System.out.println(order_id+"===================");
    List<Orders> orderList =this.getHibernateTemplate().find("from Orders where order_id =" +order_id);
    System.out.println(orderList.size()+"===================");
    return orderList.get(0);