Bonjour,

J'essaie actuellement d'utiliser Hibernate avec Spring. Pour cela j'ai suivi le tutoriel suivant : http://baptiste-meurant.developpez.c...ing-hibernate/

J'ai donc les fichiers de configuration suivant :

applicationContext.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans>
	<bean id="authentificationServiceTarget" class="com.test.service.impl.AuthentificationServiceImpl">
		<property name="personneDao">
			<ref bean="personneDao" />
		</property>
	</bean>
	<bean id="authentificationService" parent="transactionProxy">
		<property name="target">
			<ref bean="authentificationServiceTarget"/>
		</property>
		<property name="transactionAttributeSource">
			<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
		</property>
	</bean>
</beans>
applicationContextDao.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<!-- Application context DAO layer -->
 
<beans>
	<!-- General  -->
	<bean id="personneDao" class="com.test.dao.hibernate3.PersonneDaoImpl">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>
 
	<!-- sessionFactory  -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation">
			<value>classpath:hibernate.cfg.xml</value>
		</property>
		<property  name="configurationClass">
  			 <value>org.hibernate.cfg.AnnotationConfiguration</value>
		</property>
	</bean>
 
	<!-- Transaction --> 
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
	<bean id="transactionProxy" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref bean="transactionManager"/>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="*">PROPAGATION_REQUIRED, readOnly</prop>
			</props>
		</property>
	</bean>
 
</beans>
Lorsque j'essaie de récupérer la session hibernate avec ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
J'obtiens cette exception :
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:544)
Quelqu'un serait-il pourquoi je n'arrive pas à récupérer la session ??

Merci d'avance.