spring HibernateDaoSupport 使用

问题描述

spring 和hibernate继承,dao继承了HibernateDaoSupport ,发现save和get 方法都好使,但find方法就抛异常,不知道是为什么,如果出错的话应该都出错呀,不能有的时候出错,有的时候不出吧。 StudentEntity entity = (StudentEntity) dao.getHibernateTemplate().get( StudentEntity.class, 1); StudentEntity ent = new StudentEntity(); ent.setRxrq(new Timestamp(System.currentTimeMillis())); ent.setSksj(new Date(System.currentTimeMillis())); ent.setXh(2009); ent.setXm("张三"); dao.getHibernateTemplate().save(ent); List list=dao.getHibernateTemplate().find("from StudentEntity");执行find方法时报的异常为:java.lang.reflect.InvocationTargetExceptionsun.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:452)com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) 问题补充:lockwang 写道

解决方案

升级下你的hibernate
解决方案二:
引用我现在即使把事务的东西全部去掉,还是不好使,我怀疑是jar包可能版本什么的对不上,你也继承了HibernateDaoSupport了吗?是啊,检查下在classpath是否有不同版本的hibernate,尤其是你使用myecilpse的deploy的时候可能会将myeclipse的lib导入
解决方案三:
我没用注解用的是xml配置aop切的<aop:config proxy-target-class="true"><aop:pointcut id="serviceMethods" expression="execution(* com.abc.imp.*.*(..))" /><aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" /> </aop:config>我的木有问题
解决方案四:
配置事务了吗?
解决方案五:
List list = super.getSession().createQuery(sql).list()return list==null||list.size()<1 ? null : list.get(0);
解决方案六:
异常不完整,可以用list方法

时间: 2024-09-05 17:51:50

spring HibernateDaoSupport 使用的相关文章

spring+hibernate hibernateDaoSupport 的事物管理

问题描述 hibernateDaoSupport 的事物管理hibernateDaoSupport 类来自动创建和提交的吗~!为什么我在用hibernateDaoSupport 对数据库进行增删改没有注入事物,也可以年持久化数据. 解决方案 hibernateDaoSupport 默认是可以不用管理事务和关闭session的. 它可以自动处理. 如果对数据库的操作失败也会回滚到原来的状态. 但我们也可以手动出来事务.. 但session还是不需要我们去关闭的. 如果关闭的session的话会抛s

Struts+Spring+Hibernate实现上传下载

上传|下载 引言 文件的上传和下载在J2EE编程已经是一个非常古老的话题了,也许您马上就能掰着指头数出好几个著名的大件:如SmartUpload.Apache的FileUpload.但如果您的项目是构建在Struts+Spring+Hibernate(以下称SSH)框架上的,这些大件就显得笨重而沧桑了,SSH提供了一个简捷方便的文件上传下载的方案,我们只需要通过一些配置并辅以少量的代码就可以完好解决这个问题了. 本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序.SS

基于Spring框架的WebSphere应用开发

web 概览 轻量级的企业应用开发越来越受到广大J2EE应用开发者的追捧,而Spring框架又是轻量级容器的杰出代表.由于Spring的使用日渐广泛,因此已有许多基于WebSphere应用服务器(WAS)的应用采用了Spring框架.本文首先介绍使用Spring开发Web应用的基本问题,然后结合WebSphere应用服务器,讲述Spring应用如何结合容器提供的服务.文章目的是与大家一起探讨如何更好的采用Spring框架开发基于WebSphere应用服务器的应用. 1.Spring框架的主要思想

Struts+Spring+Hibernate组装web应用

web 摘要: 这篇文章将讨论怎样组合几个著名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致.富于挑战的是:组合这些框架使得每一层都以一种松耦合的方式彼此沟通,而与底层的技术无关.这篇文章将使用3种流行的开源框架来讨论组合框架的策略 其实,就算用Java建造一个不是很烦琐的web应用程序,也不是件轻松的事情.当为一个应用程序建造一个构架时有许多事情需要考虑.从高层来说,开发者需要考虑:怎样建立用户接口?在哪里处理业务逻辑?和怎样持久化应用数据.这三层每一层都有它们各自的

Eclipse3.0下Struts +spring+ hibernate快速入门(1)

快速入门 本文是开发基于spring的web应用的入门文章,前端采用Struts MVC框架,中间层采用spring,后台采用Hibernate. 本文包含以下内容: ·配置Hibernate和事务 ·装载Spring的applicationContext.xml文件 ·建立业务层和DAO之间的依赖关系 ·将Spring应用到Struts中 概缆这个例子是建立一个简单的web应用,叫MyUsers,完成用户管理操作,包含简单的数据库增,删,查,该即CRUD(新建,访问,更新,删除)操作.这是一个

使用Hibernate 和 Spring 实现一个事务持久层

1.首先实现一个接口. ============================================================ package com.cqtele.tnbos;import java.util.*;public interface IUserDao { public void insertUser(userInfo user); public List findUser(String sql);} ===============================

spring入门(14)ssh中事务处理spring配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/t

spring入门((12) spring与hibernate整合完成增删改查的操作

本文是在上一篇博文的基础之上,通过继承HibernateDaoSupport调用hibernateTemplate类,只要将UserDaoImpl.java 改为继承HibernateDaoSupport类,还有spring-dao.xml文件加入对HibernateDaoSupport的配置bean即可,具体实现源码如 下: UserDaoImpl.java package www.csdn.spring.hibernate.dao.copy; import java.util.List; i

Hibernate+Spring+Struts2整合开发中的一个分页显示方案

分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或 者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当 把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2 项目时设计的分页代码,与大家分享交流. 1.DAO层接口的设计,在MemberDao接口中定义了如下两个方法: public interface MemberDao{ //省略了其他的代码 /** *//** * 分页查询 * @param hql 查询的