春天3.1.1与Hibernate 4.1的注解配置 [英] Spring 3.1.1 with hibernate 4.1 annotations configuration

查看:144
本文介绍了春天3.1.1与Hibernate 4.1的注解配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置了​​spring3.1.1新项目和休眠4.1。
当我跑我的项目,我收到以下错误

I am setting up the new project with spring3.1.1 and hibernate 4.1. When I run my project I am getting the following error

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

我的applicationContext.xml

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>

@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 have added my dependency jars please 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 to complete the project setup. Please give some suggestion where we need to concentrate while setting up the new project structure where fewer changes are necessary for future up gradation.

对不起,我是新来的StackOverflow,我不知道怎么给重播的命令

Sorry I am new to stackoverflow I don’t know how to give replay to the commands

推荐答案

它发生监守你有冬眠。 current_session_context_class enabled属性

It happens becuase you have hibernate.current_session_context_class property enabled

结合春,破坏适当的会话和事务管理休眠时,你不应该使用这个属性。要设置该属性的唯一情况是,如果你使用Spring和JTA环境休眠,否则不要使用它。

you should NEVER use that property when combining Hibernate with Spring that destroys proper session and transaction management. The only time you want to set this property is if you use Spring and Hibernate in a JTA environment, else don't use it.

这篇关于春天3.1.1与Hibernate 4.1的注解配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆