原因:java.lang.NoSuchMethodError:org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;

原因:java.lang.NoSuchMethodError:org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;,hibernate,spring-boot,apache-camel,Hibernate,Spring Boot,Apache Camel,当尝试使用Hibernate存储bean时,我遇到以下异常 Caused by: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session; at org.apacheextras.camel.component.hibernate.SpringTransactionStrategy$1.doInTransaction(SpringTra

当尝试使用Hibernate存储bean时,我遇到以下异常

Caused by: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;

at org.apacheextras.camel.component.hibernate.SpringTransactionStrategy$1.doInTransaction(SpringTransactionStrategy.java:43) ~[camel-hibernate-2.10.1.jar:2.10.1]
下面是hibernate Spring配置

<bean id="hibernate" class="org.apacheextras.camel.component.hibernate.HibernateComponent">
    <property name="sessionFactory" ref="sessionFactory"/>
    <property name="transactionStrategy" ref="springTransactionStrategy"/>
</bean>
<bean id="springTransactionStrategy" class="org.apacheextras.camel.component.hibernate.SpringTransactionStrategy">
  <constructor-arg ref="sessionFactory"/>
  <constructor-arg ref="transactionTemplate"/>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  <property name="transactionManager" ref="transactionManager"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  <property name="hibernateProperties">
    <value>
      hibernate.hbm2ddl.auto=create
      hibernate.dialect=org.hibernate.dialect.SQLServerDialect
      show_sql=true
      format_sql=true
    </value>
  </property>
</bean>
      <dependency>
        <groupId>org.apache-extras.camel-extra</groupId>
        <artifactId>camel-hibernate</artifactId>
        <version>2.10.1</version>
      </dependency>
     <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.0.12.Final</version>
        <exclusions>
          <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
          </exclusion>
          <exclusion>
            <artifactId>cdi-api</artifactId>
            <groupId>javax.enterprise</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.0.12.Final</version>
        <exclusions>
          <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.3.6.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator-annotation-processor</artifactId>
        <version>5.3.6.Final</version>
      </dependency>

hibernate.hbm2ddl.auto=create
hibernate.dialogue=org.hibernate.dialogue.sqlserverdialogue
show_sql=true
format_sql=true
下面是Hibernate版本

<bean id="hibernate" class="org.apacheextras.camel.component.hibernate.HibernateComponent">
    <property name="sessionFactory" ref="sessionFactory"/>
    <property name="transactionStrategy" ref="springTransactionStrategy"/>
</bean>
<bean id="springTransactionStrategy" class="org.apacheextras.camel.component.hibernate.SpringTransactionStrategy">
  <constructor-arg ref="sessionFactory"/>
  <constructor-arg ref="transactionTemplate"/>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  <property name="transactionManager" ref="transactionManager"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  <property name="hibernateProperties">
    <value>
      hibernate.hbm2ddl.auto=create
      hibernate.dialect=org.hibernate.dialect.SQLServerDialect
      show_sql=true
      format_sql=true
    </value>
  </property>
</bean>
      <dependency>
        <groupId>org.apache-extras.camel-extra</groupId>
        <artifactId>camel-hibernate</artifactId>
        <version>2.10.1</version>
      </dependency>
     <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.0.12.Final</version>
        <exclusions>
          <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
          </exclusion>
          <exclusion>
            <artifactId>cdi-api</artifactId>
            <groupId>javax.enterprise</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.0.12.Final</version>
        <exclusions>
          <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>5.0.12.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.3.6.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator-annotation-processor</artifactId>
        <version>5.3.6.Final</version>
      </dependency>

org.apache-extras.camel-extra
骆驼冬眠
2.10.1
org.hibernate
冬眠核心
5.0.12.1最终版本
xml API
xml API
CDIAPI
javax.enterprise
org.hibernate
休眠ehcache
5.0.12.1最终版本
org.hibernate
休眠实体管理器
5.0.12.1最终版本
xml API
xml API
org.hibernate
冬眠使者
5.0.12.1最终版本
org.hibernate
hibernate-java8
5.0.12.1最终版本
org.hibernate
冬眠
5.0.12.1最终版本
org.hibernate
休眠验证器
5.3.6.最终版本
org.hibernate
hibernate验证程序注释处理器
5.3.6.最终版本
我使用的是SpringBootVersion1.5.10.RELEASE及其派生的依赖项

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>1.5.10.RELEASE</version>
      </dependency>

org.springframework.boot
弹簧靴
1.5.10.1发布

你知道解决办法是什么吗?我从升级hibernate和spring版本的一个线程中发现,但我的hibernate和spring已经是更高的版本了。骆驼冬眠怎么样?这来自于spring启动版本。(不幸的是,由于混合了库,我不得不使用1.5.0.RELEASE)

我将hibernate版本升级到2.18.0,并且我能够解决这个错误

 <dependency>
    <groupId>org.apache-extras.camel-extra</groupId>
    <artifactId>camel-hibernate</artifactId>
    <version>2.18.0</version>
  </dependency>

org.apache-extras.camel-extra
骆驼冬眠
2.18.0

我查看了下面建议升级版本的线程。但我已经在更高版本上了(我想)