Spring 3.1.1 mit hibernate 4.1 Anmerkungen Konfiguration
Ich bin einrichten des neuen Projektes mit spring3.1.1 und hibernate 4.1.
Wenn ich mein Projekt, das ich erhalte die folgende Fehlermeldung
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;
at com.humancapital.dao.TestModelDAOImpl.getTestModelList(TestModelDAOImpl.java:22)
Meine 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();
}
}
Ich habe meine Abhängigkeit Gläser bitte schlagen Sie mich
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
Bitte Helfen Sie mir, um die komplette Projekt-setup.
Bitte geben Sie einen Vorschlag, wo wir brauchen, zu konzentrieren, während Sie die neue Projekt-Struktur, wobei weniger änderungen erforderlich sind, für die Zukunft bis abstufung.
Sorry ich bin neu auf stackoverflow ich weiß nicht, wie zu geben, replay, um die Befehle
- Haben Sie versucht, es ohne die Ausbreitung Einstellung?
- Warum brauchen Sie
hibernateManagedSession=true
? - Ich habe es versucht, ohne Vermehrung aber ich bin noch immer dieselbe Ausnahme.
- Wenn ich entfernen Sie die hibernateMessageSession= true, gibt es die Ausnahme java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geschieht es, weil Sie überwintern.
current_session_context_class
Eigenschaft aktiviertsollten Sie NIE verwenden Sie diese Eigenschaft, wenn die Kombination von Hibernate mit Spring, zerstört produktive session und transaction management. Die einzige Zeit, die Sie wollen, um diese Eigenschaft festzulegen ist, wenn Sie mit Spring und Hibernate in einer JTA-Umgebung, sonst verwenden Sie es nicht.