Spring 3.1.1 with hibernate 4.1 annotation configuration

I am creating a new project using spring3.1.1 and hibernate 4.1. When I run my project, I get the following error:

java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session; at com.humancapital.dao.TestModelDAOImpl.getTestModelList(TestModelDAOImpl.java:22) 

My applicationContext.xml

  <?xml version="1.0" encoding="UTF-8"?> <context:component-scan base-package="com.example"/> <!-- Use @Transaction annotations for managing transactions --> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- PropertyConfiguer --> <bean id="propertyCongigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="/WEB-INF/config/jdbc/jdbc.properties"></property> </bean> <!-- DataSource connection --> <bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="myDataSource"></property> <property name="annotatedClasses"> <list> <value>com.humancapital.dao.TestModel</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <context:annotation-config/> <bean id="testModelDAO" class="com.example.dao.TestModelDAOImpl"></bean> 

Mydaoimpl

 @Repository public class TestModelDAOImpl implements TestModelDAO { @Autowired private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory){ this.sessionFactory = sessionFactory; } @SuppressWarnings("rawtypes") @Override @Transactional(readOnly=true,propagation=Propagation.REQUIRES_NEW) public List getTestModelList() { System.out.println(sessionFactory.toString()); return sessionFactory.getCurrentSession().createCriteria(TestModel.class).list(); } } 

I added my addiction bans, suggest me

 antlr-2.7.7.jar antlr-runtime-3.0.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-fileupload-1.2.jar commons-lang-2.4.jar commons-logging.jar commons-pool-1.5.4.jar dom4j-1.6.1.jar ejb3-persistence-3.3.1.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.1.Final.jar hibernate-entitymanager-4.1.1.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar hibernate-validator-4.0.2.GA.jar jackson-core-asl-1.9.2.jar jackson-jaxrs-1.8.5.jar jackson-mapper-asl-1.9.2.jar javassist-3.15.0-GA.jar jboss-logging-3.1.0.CR2.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar json-lib-2.3-jdk13.jar jstl-1.2.jar jta-1.1.jar log4j-1.2.14.jar mail.jar mysql-connector-java-5.0.8-bin.jar org.springframework.aop-3.1.1.RELEASE.jar org.springframework.asm-3.1.1.RELEASE.jar org.springframework.aspects-3.1.1.RELEASE.jar org.springframework.beans-3.1.1.RELEASE.jar org.springframework.context.support-3.1.1.RELEASE.jar org.springframework.context-3.1.1.RELEASE.jar org.springframework.core-3.1.1.RELEASE.jar org.springframework.expression-3.1.1.RELEASE.jar org.springframework.jdbc-3.1.1.RELEASE.jar org.springframework.jms-3.1.1.RELEASE.jar org.springframework.js-2.0.8.RELEASE.jar org.springframework.orm-3.1.1.RELEASE.jar org.springframework.oxm-3.1.1.RELEASE.jar org.springframework.test-3.1.1.RELEASE.jar org.springframework.transaction-3.1.1.RELEASE.jar org.springframework.web.servlet-3.1.1.RELEASE.jar org.springframework.web-3.1.1.RELEASE.jar servlet-api.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar slf4j-simple-1.6.1.jar spring-modules-validation-0.7.jar standard.jar 

Please help me complete the project setup. Please give some suggestion in which we need to concentrate when setting up a new project structure, where fewer changes are required for future gradation.

Sorry I'm new to stackoverflow. I do not know how to repeat the commands.

+7
source share
1 answer

This happens because you have sleep mode. current_session_context_class property is enabled

you should never use this property when combining Hibernate with Spring, which disrupts proper session and transaction management. The only time you want to set this property is to use Spring and Hibernate in the JTA environment, otherwise do not use it.

+8
source

All Articles