Problemas com hibernate 4

Senhores,

Estou utilizando Eclipse Indigo, Tomcat 7, Java 7, Richfaces 4 e tentando migrar para Hibernate 4.
Meu problema é que quando tento startar o Tomcat 7 recebo a seguinte mensagem de erro:

Advertência: Unable to load class [net.sf.ehcache.distribution.TransactionalRMICachePeer] to check against the @HandlesTypes annotation of one or more ServletContentInitializers.
java.lang.VerifyError: class net.sf.ehcache.distribution.TransactionalRMICachePeer overrides final method remove.(Ljava/io/Serializable;)Z
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
	at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1988)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1951)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1840)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1808)
	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1794)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1214)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:828)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5148)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)[/code]

O problema é que não estou utilizando o ehcache.
Vejam meu arquivo hibernate.cgf.xml:
[code]<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">	
<hibernate-configuration>
<session-factory>
 

	<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/xxx</property>	
	<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
	<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
	<property name="hibernate.connection.username">xxx</property>
	<property name="hibernate.connection.password">xxx</property>

	
	<property name="hibernate.show_sql">true</property>
	<property name="hibernate.format_sql">true</property>

	<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
    <property name="hibernate.c3p0.min_size">1</property>
    <property name="hibernate.c3p0.max_size">20</property>
    <property name="hibernate.c3p0.timeout">30</property>
    <property name="hibernate.c3p0.idle_test_period">100</property>
    <property name="hibernate.c3p0.max_statements">0</property>
    <property name="hibernate.c3p0.maxConnectionAge">14400</property>

	<!-- 
	<property name="hibernate.cache.provider_class">
		org.hibernate.cache.EhCacheProvider
		net.sf.ehcache.hibernate.EhCacheProvider
	</property>
  	-->
  	
    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="current_session_context_class">thread</property>
	
	<mapping class="br.com.techsage.tabela.UnidadeFederacao"/>
	<mapping class="br.com.techsage.tabela.ResponsavelEmpresa"/>
	<mapping class="br.com.techsage.tabela.Banco"/>
	<mapping class="br.com.techsage.tabela.AgenciaBanco"/>
	<mapping class="br.com.techsage.tabela.Empresa"/>
	<mapping class="br.com.techsage.tabela.CtaCorrenteEmpresa"/>
	<mapping class="br.com.techsage.tabela.Usuario"/>
	<mapping class="br.com.techsage.tabela.AcessoEmpresa"/>
	<mapping class="br.com.techsage.tabela.CentroCusto"/>
	<mapping class="br.com.techsage.tabela.AcessoCentroCusto"/>
	<mapping class="br.com.techsage.tabela.Edicao"/>
	<mapping class="br.com.techsage.tabela.FormaPagamento"/>
	<mapping class="br.com.techsage.tabela.IrrfCodigoRetencao"/>
	<mapping class="br.com.techsage.tabela.IssCodigoRetencao"/>
	<mapping class="br.com.techsage.tabela.CsllCofinsPis"/>
	<mapping class="br.com.techsage.tabela.InssAutonomo"/>
	<mapping class="br.com.techsage.tabela.AreaGerencial"/>
	<mapping class="br.com.techsage.tabela.ContaGerencial"/>
	<mapping class="br.com.techsage.tabela.Area_Conta_Gerencial"/>
	<mapping class="br.com.techsage.tabela.AcessoContaGerencial"/>
	<mapping class="br.com.techsage.tabela.MotivoCancelamentoPagamento"/>
	<mapping class="br.com.techsage.tabela.DocumentoServicoTomado"/>
	<mapping class="br.com.techsage.tabela.IrrfValidade"/>
	<mapping class="br.com.techsage.tabela.Irrf"/>
	<mapping class="br.com.techsage.tabela.TipoDocumento"/>
	<mapping class="br.com.techsage.tabela.AcessoTipoDocumento"/>
	<mapping class="br.com.techsage.tabela.Fornecedor"/>
	<mapping class="br.com.techsage.tabela.CtaCorrenteFornecedor"/>
	<mapping class="br.com.techsage.tabela.ContatoFornecedor"/>
	<mapping class="br.com.techsage.tabela.DependenteFornecedor"/>
	<mapping class="br.com.techsage.tabela.Rotina"/>
	<mapping class="br.com.techsage.tabela.AcessoRotina"/>
	<mapping class="br.com.techsage.tabela.Parametro"/>
	<mapping class="br.com.techsage.tabela.RegraVencimento"/>
	<mapping class="br.com.techsage.tabela.TipoLancamentoContabil"/>
	<mapping class="br.com.techsage.tabela.Documento"/>
	<mapping class="br.com.techsage.tabela.Imposto"/>
	<mapping class="br.com.techsage.tabela.Pagamento"/>
	<mapping class="br.com.techsage.tabela.PagamentoCancelado"/>
	<mapping class="br.com.techsage.tabela.ContabilGerencial" /> 
  	<mapping class="br.com.techsage.tabela.DoctoFornecedorInss" /> 
  	<mapping class="br.com.techsage.tabela.StatusDocumento" /> 
  	<mapping class="br.com.techsage.tabela.ReembolsoItem" /> 
  	<mapping class="br.com.techsage.tabela.Feriado" /> 
  	<mapping class="br.com.techsage.tabela.Formulario" /> 
  	<mapping class="br.com.techsage.tabela.FormularioTipoDocumento" />	
  	<mapping class="br.com.techsage.tabela.MeioPagamento" />	
  	<mapping class="br.com.techsage.tabela.RcoGeral" />	
  	<mapping class="br.com.techsage.tabela.Pais" />	
  	<mapping class="br.com.techsage.tabela.OcorrenciaPagamentoBanco" />	
</session-factory>
</hibernate-configuration>

Será que alguém saberia como resolver ?

Com hibernate 3 funciona?

Sim, funciona perfeitamente.

O 4 tem algo que vc precisa que o 3 não tem?

Sim, aparentemente sim.
Mas, eu fiz download do site do hibernate e estou utilizando os jars indicados na documentação…

Ou seja, você ainda não está utilizando. Não acha que vale a pena continuar no 3?

Ouvi falar que a versão 4 não iria manter compatibilidade. Não sei até que ponto isso influencia ao alterar a versão.

Manter a versão é uma possibilidade. Mas, vou continuar tentando, por enquanto, obrigado.