2

How can I solve the following conflict?

  • If I am using hibernate-core 3.6.0.Final

I am getting an exception:

Caused by: java.lang.ClassNotFoundException: org.hibernate.context.spi.CurrentSessionContext
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
  • If I am using hibernate-core 4.1.0.Final

I am getting an exception:

Caused by: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
    at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:324)

Dependencies of my project:

my.project:jsf-spring-security:war:1.0.0
+- org.slf4j:slf4j-log4j12:jar:1.6.4:compile
|  +- (org.slf4j:slf4j-api:jar:1.6.4:compile - omitted for duplicate)
|  \- (log4j:log4j:jar:1.2.16:compile - omitted for duplicate)
+- org.slf4j:slf4j-api:jar:1.6.4:compile
+- org.springframework:spring-core:jar:3.1.1.RELEASE:compile
|  +- org.springframework:spring-asm:jar:3.1.1.RELEASE:compile
|  \- commons-logging:commons-logging:jar:1.1.1:compile
+- org.springframework.ldap:spring-ldap:jar:all:1.3.1.RELEASE:compile
|  \- (org.springframework:spring-core:jar:3.0.5.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- org.springframework:spring-webmvc:jar:3.1.1.RELEASE:compile
|  +- (org.springframework:spring-asm:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- org.springframework:spring-beans:jar:3.1.1.RELEASE:compile
|  |  \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- org.springframework:spring-context:jar:3.1.1.RELEASE:compile
|  |  +- (org.springframework:spring-aop:jar:3.1.1.RELEASE:compile - omitted for conflict with 3.0.6.RELEASE)
|  |  +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-expression:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  |  \- (org.springframework:spring-asm:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- org.springframework:spring-context-support:jar:3.1.1.RELEASE:compile
|  |  +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-context:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  |  \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- org.springframework:spring-expression:jar:3.1.1.RELEASE:compile
|  |  \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  \- org.springframework:spring-web:jar:3.1.1.RELEASE:compile
|     +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|     +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|     +- (org.springframework:spring-context:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|     \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
+- org.springframework:spring-jdbc:jar:3.1.1.RELEASE:compile
|  +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  \- org.springframework:spring-tx:jar:3.1.1.RELEASE:compile
|     +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|     +- (org.springframework:spring-aop:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|     +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|     +- (org.springframework:spring-context:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|     \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
+- javax.servlet:jstl:jar:1.2:compile
+- javax.servlet.jsp.jstl:jstl-api:jar:1.2:provided
|  +- (javax.servlet:servlet-api:jar:2.5:provided - omitted for duplicate)
|  \- javax.servlet.jsp:jsp-api:jar:2.1:provided
+- log4j:log4j:jar:1.2.16:compile
+- org.aspectj:aspectjweaver:jar:1.6.10:compile
+- javax.servlet:servlet-api:jar:2.5:provided
+- org.apache.commons:com.springsource.org.apache.commons.httpclient:jar:3.1.0:compile
+- commons-lang:commons-lang:jar:2.4:compile
+- commons-dbcp:commons-dbcp:jar:1.4:compile
|  \- commons-pool:commons-pool:jar:1.5.4:compile
+- commons-io:commons-io:jar:1.4:compile
+- commons-fileupload:commons-fileupload:jar:1.2:compile
+- org.springframework.security:spring-security-taglibs:jar:3.1.0.RELEASE:compile
|  +- org.springframework.security:spring-security-web:jar:3.1.0.RELEASE:compile
|  |  +- (org.springframework:spring-tx:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework:spring-web:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-expression:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework:spring-aop:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-jdbc:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework.security:spring-security-acl:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-web:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-expression:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- org.springframework:spring-aop:jar:3.0.6.RELEASE:compile
|  |  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|  |  +- (org.springframework:spring-asm:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  |  \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- org.springframework.security:spring-security-acl:jar:3.1.0.RELEASE:compile
|  +- (org.springframework:spring-tx:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- aopalliance:aopalliance:jar:1.0:compile
|  +- (org.springframework:spring-aop:jar:3.0.6.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-jdbc:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile
|  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|  +- (org.springframework:spring-expression:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-aop:jar:3.0.6.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  \- org.springframework.security:spring-security-crypto:jar:3.1.0.RELEASE:compile
|     \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- org.springframework.security:spring-security-ldap:jar:3.1.0.RELEASE:compile
|  +- (org.springframework:spring-tx:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  \- org.springframework.ldap:spring-ldap-core:jar:1.3.1.RELEASE:compile
|     \- (commons-lang:commons-lang:jar:2.5:compile - omitted for conflict with 2.4)
+- org.springframework.security:spring-security-config:jar:3.1.0.RELEASE:compile
|  +- (org.springframework:spring-context:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
|  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
|  +- (org.springframework:spring-aop:jar:3.0.6.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile - omitted for duplicate)
|  \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- junit:junit:jar:4.8.1:compile
+- net.sourceforge.jtds:jtds:jar:1.2.5:provided
+- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.2:compile
|  \- org.codehaus.jackson:jackson-core-asl:jar:1.8.2:compile
+- org.springframework:spring-test:jar:3.1.1.RELEASE:test
+- org.glassfish:javax.faces:jar:2.1.7:compile
+- org.primefaces:primefaces:jar:3.1.1:compile
+- org.glassfish:javax.annotation:jar:3.1.1:compile
+- org.hsqldb:hsqldb:jar:2.0.0:compile
+- com.oracle:ojdbc6:jar:11.2.0:compile
+- org.hibernate:hibernate-core:jar:4.1.0.Final:compile
|  +- commons-collections:commons-collections:jar:3.2.1:compile
|  +- antlr:antlr:jar:2.7.7:compile
|  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile
|  +- dom4j:dom4j:jar:1.6.1:compile
|  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
|  +- (org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile - omitted for duplicate)
|  +- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile
|  +- org.javassist:javassist:jar:3.15.0-GA:compile
|  \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile
|     \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted for duplicate)
+- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
+- org.hibernate:hibernate-validator:jar:4.2.0.Final:compile
|  +- javax.validation:validation-api:jar:1.0.0.GA:compile
|  \- (org.slf4j:slf4j-api:jar:1.6.1:compile - omitted for conflict with 1.6.4)
+- org.springframework:spring-orm:jar:3.1.1.RELEASE:compile
|  +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  +- (org.springframework:spring-jdbc:jar:3.1.1.RELEASE:compile - omitted for duplicate)
|  \- (org.springframework:spring-tx:jar:3.1.1.RELEASE:compile - omitted for duplicate)
\- javax.transaction:jta:jar:1.1:compile
rapt
  • 11,810
  • 35
  • 103
  • 145
  • Yes. Eclipse 3.7 and Tomcat 7. – rapt Mar 19 '12 at 15:36
  • For the hibernate 4 error http://stackoverflow.com/questions/8799121/java-lang-nosuchmethoderror-org-hibernate-sessionfactory-opensessionlorg-hibe – Arnaud Gourlay Mar 19 '12 at 15:44
  • @Shagaan: "Remove Hibernate 4.0 and put Hibernate 3.6 instead in your classpath" - but I mentioned that in that case I also get an exception. – rapt Mar 19 '12 at 15:56
  • @rapt: I know, it's just to show you that you have to use Hibernate 3.6. Now you only have one exception to resolve :D – Arnaud Gourlay Mar 19 '12 at 15:58
  • @Shagaan: and what is the way to resolve the `java.lang.ClassNotFoundException: org.hibernate.context.spi.CurrentSessionContext` issue? – rapt Mar 19 '12 at 16:18

2 Answers2

7

I have managed to use Hibernate 4, Spring 3.1.0 on Tomcat 7.

Use

  1. org.springframework.orm.hibernate4.HibernateTransactionManager for Transaction Mananger
  2. org.springframework.orm.hibernate4.LocalSessionFactoryBean for Session Factory

Spring has new package org.springframework.orm.hibernate4.* for Hibernate 4

Note: Spring Hibernate Template is removed from Hibernate 4 support (considered as Anti Pattern)

You can have a look at Spring Hibernate 4 docs

Hope this helps !!!!

baba.kabira
  • 3,111
  • 2
  • 26
  • 37
  • 1
    I can't understand where should I Configure org.springframework.orm.hibernate4.HibernateTransactionManager can you please specify a sample example. I have successfully connected to hibernate 3.6 having same problem with 4. – ManMohan Vyas Aug 25 '12 at 04:09
  • +1 Thanks for this. I was loading the hibernate3 version which was looking for the wrong hibernate class. – Gray Apr 23 '14 at 14:12
  • HibernateTemplate has *not* been deprecated in any of the o.s.o.hiberatex packages. The javadocs merely suggest you should consider not using it for new projects. http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/orm/hibernate5/HibernateTemplate.html – Dick Chesterwood Dec 16 '15 at 15:07
2

rapt - your error with Hibernate 3.6 is due to the fact that you are still referring to

org.springframework.orm.hibernate4.LocalSessionFactoryBean

, use

org.springframework.orm.hibernate3.LocalSessionFactoryBean

instead.

ManMohan Vyas
  • 4,004
  • 4
  • 27
  • 40