博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NoSuchMethodError: org.hibernate.SessionFactory.openSession
阅读量:7072 次
发布时间:2019-06-28

本文共 2306 字,大约阅读时间需要 7 分钟。

签:
 
 
严重: Servlet.service() for servlet dispatcher threw exception
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
 at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:322)
 at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:256)
出问题喽....
没有这个方法?
哦...到hibernate4的时候,spring已经不再提供hibernateDaoSupport.getTemplate也不支持了.
就用hibernate4的session就可以了.
我把内容修改为了
直接使用注入的sessionFactory.openSession();来取得session.看看行不行...
 
找到篇好文章,我之前遇到的问题都在这都能找到.其实出现这些问题的关键就是hibernate4和hibernate3出现了session管理的变动.spring也作出相应的变动....
错误1:java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider
原因:spring的sessionfactory和 ansactionmanager与支持hibernate3时不同。
解决:
 
...
错误2:java.lang.NoSuchMethodError: 
org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session
原因:hibernate4之后,spring31把HibernateDaoSupport去除,包括数据访问都不需要hibernatetemplate,这意味着dao需要改写,直接使用hibernate的session和query接口。
解决:为了改写dao,足足花了一天时间,然后一个个接口进行单元测试,这是蛋疼的一个主要原因。
错误3:nested exception is org.hibernate.HibernateException: No Session found for current thread
原因:发现一些bean无法获得当前session,需要把之前一些方法的事务从NOT_SUPPORT提升到required,readonly=true
见https://jira.springsource.org/browse/SPR-9020
http://www.iteye.com/topic/1120924
解决:
 
错误4:与错误3报错类似,java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibe
rnate/classic/Session;
        at org.springframework.orm.hibernate3.SessionFactoryUti .doGetSession(S
essionFactoryUtils.java:324) [spring-orm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
        at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(Ses
sionFactoryUtils.java:202) [spring-orm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
原因:因为opensessioninview filter的问题,如果你的配置还是hibernate3,需要改为hibernate4
 
openSessionInViewFilter
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
 
 
 
 
 
 
 
 
 
,如需转载请自行联系原作者
你可能感兴趣的文章
Android开发学习笔记(14):OnTouch、OnClick、OnLongClick、OnFocusChange调用关系
查看>>
1--信息系统监理师知识框架图-(IS2-160523p)
查看>>
Nginx实现负载均衡
查看>>
基于Linux系统部署Web服务器
查看>>
CentOS6.3安装配置iscsi并实现自动挂载
查看>>
在Kubernetes中运行Spark集群
查看>>
VMware Horzion Workspace POC文档--安装2(集成VIEW)
查看>>
浅谈HDFS的读流程
查看>>
【探索】VS下虚继承实现的方法-1
查看>>
Java基础加密之MD5加密算法
查看>>
盛夏光年
查看>>
Android 沉浸式状态栏(像IOS那样的状态栏与应用统一颜色样式)
查看>>
RHCS集群服务 7.10
查看>>
windows 使用vnc图形化界面远程连接阿里云ubuntu 16.04云服务器
查看>>
linux和CentOS是什么关系;CentOS和RHEL是什么关系
查看>>
samba
查看>>
利用Python网络爬虫抓取微信好友的签名及其可视化展示
查看>>
Linux-Nginx代理
查看>>
计算机的系统组成简介---运维笔记
查看>>
Liunx nginx 的使用方法及模块
查看>>