title: java.lang.ClassNotFoundException if I use either hibernate-core 3.6.0 or hibernate-core 4.1.0
body: <p><strong>How can I solve the following conflict?</strong></p>
  
  <ul>
  <li>If I am using <strong>hibernate-core 3.6.0.Final</strong></li>
  </ul>
  
  <p>I am getting an exception:</p>
  
  <pre><code>Caused by: java.lang.ClassNotFoundException: org.hibernate.context.spi.CurrentSessionContext
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
  </code></pre>
  
  <ul>
  <li>If I am using <strong>hibernate-core 4.1.0.Final</strong></li>
  </ul>
  
  <p>I am getting an exception:</p>
  
  <pre><code>Caused by: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
      at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:324)
  </code></pre>
  
  <p>Dependencies of my project:</p>
  
  <pre><code>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
  </code></pre>