当前位置: 首页 > 知识库问答 >
问题:

当没有可用连接时,必须设置“Hibernate.Dialke”

弓嘉纳
2023-03-14

我已经运行了数据库,并且可以使用swing GUI连接到它。但当我尝试运行我的应用程序时,我得到一个启动错误。以下是详细内容:

1:错误-

信息:初始化Spring根WebApplicationContext[ERROR][pool-2-thread-1 05:20:08](JDBCExceptionReporter.java:LogException:101)无法从基础数据库获取连接![错误][pool-2-thread-1 05:20:08](ContextLoader.java:InitWebApplicationContext:220)上下文初始化失败org.springFramework.Beans.Factory.BeanCreationException:创建ServletContext资源[/WEB-INF/Hibernate-Context.xml]中定义的名称为“会话工厂”的bean时出错:调用init方法失败;嵌套异常为org.hibernate.hibernateException:当org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializeBean(abstractautowirecapablebeanfactory.java:1420)(org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreateBean(abstractautowirecapablebeanfactory.519)没有连接可用

2:hibernate-context.xml-

<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.gleeb.sample.model" />
    <property name="hibernateProperties">
        <props>
            <!-- <prop key="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> -->
            <prop key="dialect">org.hibernate.dialect.HSQLDialect</prop>
            <prop key="show_sql">false</prop>
            <prop key="hbm2ddl.auto">create</prop>
        </props>
    </property>
</bean>

        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close" p:driverClass="org.hsqldb.jdbc.JDBCDriver"
    p:jdbcUrl="jdbc:hsqldb:hsql://localhost/testdb" p:user="sa"
    p:password="" p:acquireIncrement="5" p:idleConnectionTestPeriod="60"
    p:maxPoolSize="100" p:maxStatements="50" p:minPoolSize="10" />

<!-- Declare a transaction manager -->
<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager"
    p:sessionFactory-ref="sessionFactory" />

共有1个答案

堵雅健
2023-03-14

据我所知,不可能将方言作为Spring会话工厂的hibernateProperties字段上设置的值传递进来,至少如果您还在该字段上使用configLocation属性的话。

My hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>

    <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
    <property name="hibernate.search.autoregister_listeners">false</property>
    [etc...]

我的相关会话工厂上下文配置:

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="dataSource" ref="dataSource"/>
       <property name="hibernateProperties">
        <props>
            <!--<prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop>-->
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.generate_statistics">false</prop>
            <prop key="hibernate.default_schema">xxx</prop>
        </props>
    </property>
</bean>
Caused by: org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set
 类似资料:
  • 有没有办法打开tcpip端口5555进行调试,而不需要通过USB连接到电脑?

  • 问题内容: 我正在使用PDO从MySQL服务器获取数据。我注意到的是:如果MySQL服务器不可用,则此代码返回异常 实际上 需要(相对)长的时间: 如果使用MySQL,则发生异常(SQLSTATE [HY000] [2003]无法在…上连接到MySQL服务器)仅需2分钟以上,而在PostgreSQL上则需要30秒(SQLSTATE [08006] [7]超时已过期) )。 我尝试使用PDO ::

  • 问题内容: 如果我没有以编程方式设置任何内容,而只是调用并使用hibernate.properties(如下所示),那么一切都将很好。尝试以编程方式提供用户名,密码和连接URL时,我会收到奇怪的异常提示,提示是hbm文件。我想念什么? 按照@Kshitij的建议。进行混合模式。 *现在 *的hibernate.properties 是 编码 例外 我现在得到这个异常,我的hbm文件中的每个条目都有

  • 问题内容: 我写了一些代码来测试我的Hibernate配置,但是遇到了这样的错误消息: 我的文件结构如下: 这不是一个Web应用程序,它只是一个普通的Java项目。hibernate.cfg.xml如下所示: 主要功能中的代码如下: 根据错误消息,错误发生在 我是Hibernate的新用户,并且已经多次检查了我的配置文件。有谁可以帮助您找出问题所在?谢谢! 编辑:Hibernate版本是4.3.5

  • 我编写了一些代码来测试Hibernate的配置,但是我遇到了这样的错误消息: main函数中的代码如下所示: 根据错误消息,错误发生在 我是Hibernate的一个新用户,我已经检查了我的配置文件很多次了。有人能帮我找出问题所在吗?谢了!