Could not open Hibernate Session for transaction;

javax.servlet.ServletException:
org.springframework.transaction.CannotCreateTransactionException:
Could not open Hibernate Session for transaction; nested exception is
org.hibernate.TransactionException: JDBC begin failed:

  这个问题,我在网上找的答案是:

  

1.
给jdbc url 增加 autoReconnect=true 一定能解决你的问题,可以定期观察一下 show processlist
改进方法如下:
<property name="url" value="jdbc:mysql://localhost/数据库实例名
称?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>

2.
寻找支持重连的连接池。
注意:c3p0连接池支持重连;重连参数是:
idleConnectionTestPeriod 设置空闲连接测试周期
preferredTestQuery : 设置一查询语句,用于重连测试
testConnectionOnCheckin设置为true
testConnectionOnCheckout设置为true

在sessionFactory里配置:
<property name="hibernateProperties">
<props>
<prop key="hibernate.autoReconnect">true</prop>
</props>
</property>

但是最后我都不是这些问题,我发现我的


<property
name="connection.url">
  dbc:mysql://127.0.0.1:3306/personal?useUnicode=true&amp;characterEncoding=utf-8
</property>

出现了问题

  应该是这样的,我少写了一个 j

<property
name="connection.url">
  jdbc:mysql://127.0.0.1:3306/personal?useUnicode=true&amp;characterEncoding=utf-8
</property>

所以出现了这样的问题,先看看我们的connection.url是不是正确的

时间: 2024-12-28 06:50:38

Could not open Hibernate Session for transaction;的相关文章

Hibernage错误:Could not open Hibernate Session for transaction

今天在做SSH框架整合的时候碰到的这个问题,在测试service层的时候程序正常运行,但是添加Struts,在action层测试的时候提示了如下问题:Could not open Hibernate Session for transaction.大概意思就是数据库连接超时. 解决方法如下: 在spring的配置文件中添加如下配置 给sessionFactory的bean添加如下配置 <bean id="sessionFactory" class="org.spring

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open con

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection org.springframework.orm.hibernate3.Hiberna

Use Spring transaction to simplify Hibernate session management

Spring对Hibernate有很好的支持    DataSource ->SessionFactory-> HibernateTranscationManagerHibernate中通过SessionFactory创建和维护Session.Spring对SessionFactory的配置进行了整合,无需再通过Hibernate.cfg.xml对SessionFactory进行设定.SessionFactory节点的mappingResources属性包含了映射文件的路径,list节点下可配

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session

出错原因很简单:数据库服务没开,自然就打不开Session了. org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session

Hibernate Session &amp; Transaction详解

Hibernate Session & Transaction详解 HIbernate中的Session Session是JAVA应用程序和Hibernate进行交互时使用的主要接口,它也是持久化操作核心API, 注意这里的Session的含义,它与传统意思上web层的HttpSession并没有关系,Hibernate Session之与Hibernate,相当于JDBC Connection相对与JDBC. Session对象是有生命周期的,它以Transaction对象的事务开始和结束边界

hibernate session.get(class,serialid) 方法为空值的原因?

package hibernate.test; import hibernate.test.pojo.Person; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; impo

第二节 hibernate session基本方法介绍

Hibernate session 对象是和数据库建立连接的对象,session中包含了许多操作数据库的方法,下面一一描述. 1 保存对象到数据库 session.save(); 按照第一节的配置,主键的生成策略为native(数据库自动生成主键),由于数据库使用的是mysql 5,所以是自增的主键生成方式.保存对象时并不需要设置id属性. @Test public void testSave() { try { User user = new User(); user.setBirthday(

[原理][来源解析]spring于@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关联

Spring 捆绑Hibernate. 夹: 一.  1. Spring 怎样处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSession ? 3.  propagation=Propagation.SUPPORTS和propagation=Propagation.require对生成Session有何影响,共同点和差别 ? 3.1. 未配置@Transaction和 配置@Transaction(propagation=P

spring管理hibernate session的问题探究

我们再用spring管理hibernate的时候, 我们会继承HibernateDaoSupport 或者HibernateTemplate类. 我们不知道这两个类之间有什么关系. 也没有去关闭session. 让我很是心不安,他可没有关闭session呀.如果..真的是后果不堪设想.百度了好久, 谷歌了好多. 都没有一个像样的说法. 说spring中HibernateDaoSupport会自己关闭session. 眼见为实.于是乎决定查看spring源码一探究竟. 先打开HibernateDa