【问题标题】:i can't understand this error in ecplise why can't connect to my database?我无法理解eclipse中的这个错误为什么无法连接到我的数据库?
【发布时间】:2013-07-25 04:59:06
【问题描述】:
log4j:WARN No appenders could be found for logger  (org.springframework.core.env.StandardEnvironment).
 log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [spring_hibernate.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.App.main(App.java:17)
 Caused by: java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider;
at org.springframework.orm.hibernate4.SessionFactoryUtils.getDataSource(SessionFactoryUtils.java:90)
at org.springframework.orm.hibernate4.HibernateTransactionManager.afterPropertiesSet(HibernateTransactionManager.java:335)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
... 12 more

我的配置文件是

<?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.2.xsd">



       <context:component-scan base-package="java.com" />
       <context:annotation-config />

      <!--    <tx:annotation-driven transaction-manager="transactionManager"/> -->
       <bean id="transactionManager"  
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">  
        <property name="sessionFactory" ref="sessionFactory" />  
       </bean> 

      <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.postgresql.Driver" />
    <property name="url" value="jdbc:postgresql://localhost/webservices" />
    <property name="username" value="postgres" />
    <property name="password" value="1234" />
</bean>



            <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="java.com" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>
</beans>

在这个项目中,我使用 maven spring 并休眠 IDE 是 eclipse 我尝试在我的数据库中注册数据,但我有错误,所以请帮我解决这个问题。谢谢

【问题讨论】:

    标签: eclipse spring hibernate maven


    【解决方案1】:

    我猜你添加了 Hibernate 3.x jars,但是使用时你需要 Hibernate 4.x jars

    org.springframework.orm. hibernate4 .HibernateTransactionManager


    org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider() 存在于hibernate-core-4.1.7.jar 中,但它被标记为@Deprecated。如果您使用较新的版本(hibernate >= 4.2),请检查此方法是否退出,如果没有,我建议将 hibernate 库降级到 4.1.x。

    【讨论】:

    • 谢谢,但我通过你的帮助解决了这个错误,而且我在线程“main”org.springframework.beans.factory.NoSuchBeanDefinitionException 中也有一个新错误异常:没有定义名为'a'的bean
    • Monsier Jab:首先尝试自己修复它,谷歌搜索它......如果你无法修复它,然后阅读 Stackoverflow“如何提问”stackoverflow.com/questions/how-to-ask,然后发布问题。
    • 有趣的是,我在 hibernate 4.3.1 中看到了这个错误,但据我检查 jar 可以看出,这个方法仍然存在。
    • 啊,等等,返回类型已经从 org/hibernate/service/jdbc/connections/spi/ConnectionProvider 变成了 org/hibernate/engine/jdbc/connections/spi/ConnectionProvider。这可以解释这种差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多