Opensessioninviewfilter + HibernateTransactionManager

Galera, estou tentando implementar o pradrão Opensessioninviewfilter mais n estou conseguindo persistir os dados! Quando eu chamo o save da session ele não persiste os dados! ele não cria o transaction e assim não da o commit na session, é como se o transactionManager não estivesse habilitado. segue ai um pedaço do código.
AGRADEÇO A AJUDA :smiley:

web.xml

[code]<?xml version="1.0" encoding="ISO-8859-1"?>

<display-name>baseProjectFilter</display-name>

<!--
	There are three means to configure Wickets configuration mode and they
	are tested in the order given. 1) A system property:
	-Dwicket.configuration 2) servlet specific <init-param> 3) context
	specific <context-param> The value might be either "development"
	(reloading when templates change) or "deployment". If no configuration
	is found, "development" is the default.
-->

<!--
	Informa ao Spring para procurar seu arquivo de configuracao no
	classpath.
-->
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<!--
	Instala o filtro spring-hibernate responsavel por executar o padrao de
	projeto OpenSessionInView.
-->
<filter>
	<filter-name>opensessioninview.wicket</filter-name>
	<filter-class>
		org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>opensessioninview.wicket</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Instala o filtro wicket. -->
<filter>
	<filter-name>wicket.base</filter-name>
	<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
	<init-param>
		<param-name>applicationFactoryClassName</param-name>
		<param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
	</init-param>
	<init-param>
		<param-name>applicationBean</param-name>
		<param-value>wicketApplication</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>wicket.base</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

<!--
	Instala o servlet listener do spring para executar o padrao de projeto
	IOC (Inversion of Control).
-->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<session-config>
	<session-timeout>60</session-timeout>
</session-config>
[/code]

applicationContext

[code]<?xml version="1.0" encoding="UTF-8"?>

<context:component-scan base-package="br.com.baseProjectFilter" annotation-config="true"/>

<bean id="sessionFactory"
	class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
	<property name="mappingResources">
		<list>
			<value>Usuario.hbm.xml</value>
		</list>
	</property>
	<property name="configLocation">
		<value>classpath:hibernate.cfg.xml</value>
	</property>
	<property name="eventListeners">
        <map>
            <entry key="merge">
                <bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
            </entry>
        </map>
    </property>
</bean>

<!-- transactionManager -->

  <!-- Transaction support beans -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<tx:annotation-driven/>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
	<tx:attributes>
		<tx:method name="inserir" propagation="REQUIRED" />
		<tx:method name="remover" propagation="REQUIRED" />
		<tx:method name="editar" propagation="REQUIRED" />
		<tx:method name="*" read-only="true" />
	</tx:attributes>
</tx:advice>

<aop:config>
	<aop:pointcut id="service"
		expression="execution (*
br.com.baseProjectFilter.repositorio.DAO.imp.*.* (..))" />
	<aop:advisor advice-ref="txAdvice" pointcut-ref="service" />
</aop:config>

<bean id="wicketApplication" class="br.com.baseProjectFilter.WicketApplication"></bean>

[/code]

HIbernateGenericDAO

[code]package br.com.baseProjectFilter.repositorio.infra;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.SessionFactoryUtils;

import br.com.baseProjectFilter.negocios.entidades.Entidade;
import br.com.baseProjectFilter.repositorio.filtro.IFiltro;

public abstract class HibernateGenericDAO<ENTIDADE extends Entidade, ID extends Serializable, FILTRO extends IFiltro>
implements IGenericDAO<ENTIDADE, ID, FILTRO> {

private Class<ENTIDADE> classe;

private SessionFactory sessionFactory;

public HibernateGenericDAO(Class<ENTIDADE> classe,
		SessionFactory sessionFactory) {
	this.classe = classe;
	this.sessionFactory = sessionFactory;
}

@SuppressWarnings("unchecked")
public ENTIDADE buscar(final ID id) {
	return (ENTIDADE) this.getSession().get(classe, id);
}

public void editar(final ENTIDADE obj) {
	this.getSession().update(obj);
}

public List<ENTIDADE> filtrar(final FILTRO filtro) {
	// TODO Implementar HibernateGenericDAO -> filtrar
	return null;
}

public Class<ENTIDADE> getClasse() {
	return classe;
}

public Session getSession() {
	return SessionFactoryUtils.getSession(sessionFactory, false);
}

public void inserir(ENTIDADE obj) {
	this.getSession().save(obj);
}

@SuppressWarnings("unchecked")
public List<ENTIDADE> listar() {
	return this.getSession().createQuery("FROM " + classe.getName()).list();
}

public void remover(final ENTIDADE obj) {
	this.getSession().delete(obj);
}

public void setClasse(final Class<ENTIDADE> classe) {
	this.classe = classe;
}

}
[/code]

Alguma alma caridosa ai para me ajudar!! agradeço a ajuda :smiley:

uma coisa que eu reparei é que pareçe que ele n habilita esse transactionManager!