org.springframework.dao.InvalidDataAccessApiUsageException: Result object returned from HibernateCallback isn't a List: [cn.com.video.model.TbUserinfo@a60905]
org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:344)
cn.com.video.dao.impl.UserDao.showUserinfo(UserDao.java:180)
cn.com.video.service.impl.UserService.showUserinfo(UserService.java:126)
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:304)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy1.showUserinfo(Unknown Source)
cn.com.video.action.UserAction.showMessage(UserAction.java:160)
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)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)S2SH
解决方案 »
- 无法转发响应.
- 关于java源代码的学习问题
- 关于页面显示问题?
- Hibernate问题!我刚开始学Hibernate出现了问题,希望大家给看看!
- 找人合作,有兴趣的来。没兴趣就不浪费你时间了。
- hibernate.dialect SQL Server 用微软驱动怎么写 SQL Server
- 上海某软件有限公司招聘WEB,JAVA工程师(紧急)
- 在JBuilderX+jboss4.0.2不能编译JSP??
- StringBuffer中的中文处理问题?
- 怎么我full安装jb7,都没装BAS的,找不到appserver?
- 求Subscriber code?
- 求一个struts的Validator框架验证登录的帐号和密码
在你试图得到用户信息的时候出了错,首先异常
InvalidDataAccessApiUsageException的Javadoc解释是:
org.springframework.dao.InvalidDataAccessApiUsageException:
Exception thrown on incorrect usage of the API, such as failing to "compile" a query object that needed compilation before execution.
This represents a problem in our Java data access framework, not the underlying data access infrastructure.大概看来应该还是在查找这个UserInfo的时候,是否你的用户对象是空或者mapping的有问题?在这里设个断点看一下,把Show_Sql也打开看一下具体的select等操作
public POJO showUserinfo( final long userId)throws Exception{
System.out.println("UserDao....showUserinfo");
Object obj = hibernateTemplate.executeFind( new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
// TODO Auto-generated method stub
return session.createQuery( "from TbUserinfo userinfo " +
"where userinfo.NUserid=:userId").setInteger("userId",(int)userId).uniqueResult();
}
} );
POJO userinfo_pojo = (POJO)obj;
return userinfo_pojo;
}这是dao里面的代码 大家看一下这样写有没有问题UserAction....setService
UserAction....showMessage
UserService showUserinfo.....
UserDao....showUserinfo
Hibernate: select tbuserinfo0_.N_USERID as N1_16_, tbuserinfo0_.V_USERNAME as V2_16_, tbuserinfo0_.V_PASSWORD as V3_16_, tbuserinfo0_.N_FLAG as N4_16_ from SCOTT.TB_USERINFO tbuserinfo0_ where tbuserinfo0_.N_USERID=?这是控制台打印的信息
"where userinfo.NUserid=:userId").setInteger("userId",(int)userId).uniqueResult();
改为
return session.createQuery( "from TbUserinfo userinfo " +
"where userinfo.NUserid=:userId").setInteger("userId",(int)userId).list();
看看
就是将 hibernateTemplate.executeFind改成 hibernateTemplate.execute后面的这个它的返回值才为object 前面的那个为list