J'ai défini la classe suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class DaoImpl extends HibernateDaoSupport {
 
	protected Session currentSession() {
		return getHibernateTemplate().getSessionFactory().getCurrentSession();
	}
}
La configuration Spring est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="cacheQueries">
            <value>true</value>
        </property>
    </bean>
 
    <!-- This is the base definition for all Hibernate based DAOs -->
    <bean id="hibernateDaoSupport" 
          class="org.springframework.orm.hibernate3.support.HibernateDaoSupport"
          abstract="true">
    </bean>
A l'exécution, j'obtiens l'exception suivante :
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean$TransactionAwareInvocationHandler.invoke(AbstractSessionFactoryBean.java:300)
at $Proxy0.getCurrentSession(Unknown Source)
at monpacakge.DaoImpl.currentSession(DaoImpl.java:41)
Merci de votre aide