Migrando Spring 2 + hibernate 3 para Spring 3 + Hibernate 4

5 respostas
J

Boa tarde,
Estou com problemas migrando a aplicação.

Eu utilizava

<bean id="sessionFactory" class="net.sourceforge.sannotations.hibernate.AutomaticAnnotationSessionFactoryBean">
O Que devo utilizar agora no session factory?

O erro que vem apresentando é:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4323) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4780) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.startup.Catalina.start(Catalina.java:585) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415) Caused by: java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) at java.lang.Class.getDeclaredMethods(Class.java:1791) at java.beans.Introspector$1.run(Introspector.java:1287) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1285) at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1151) at java.beans.Introspector.getBeanInfo(Introspector.java:402) at java.beans.Introspector.getBeanInfo(Introspector.java:168) at java.beans.Introspector.getBeanInfo(Introspector.java:229) at java.beans.Introspector.<init>(Introspector.java:383) at java.beans.Introspector.getBeanInfo(Introspector.java:168) at java.beans.Introspector.getBeanInfo(Introspector.java:229) at java.beans.Introspector.<init>(Introspector.java:383) at java.beans.Introspector.getBeanInfo(Introspector.java:168) at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:224) at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:149) at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:324) at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptors(BeanWrapperImpl.java:331) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.unsatisfiedNonSimpleProperties(AbstractAutowireCapableBeanFactory.java:1217) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1133) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ... 31 more Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) ... 54 more

5 Respostas

romarcio
Vê se tem essa classe na versão do hibernate que você está usando.

Vê se tem essa classe na versão do hibernate que você está usando.

J

No javaDoc diz que essa classe ta deprecated… Não sei o que usar no lugar…

romarcio

Dentro do pacote de jars do Hibernate, tem uma pasta, acho que é a optional. Nela deve ter um jar ehcache, ou hibernate-ehcache.
Adiciona eles no seu projeto.

J

Dentro do pacote de jars do Hibernate, tem uma pasta, acho que é a optional. Nela deve ter um jar ehcache, ou hibernate-ehcache.
Adiciona eles no seu projeto.

Adicionei os dois pacotes referentes ao ehcache que tem na pasta… Continuou o mesmo problema.

Gustavokt

Também estou tentando fazer um projeto usando spring 3.x + hibernate 4.x, mas ainda não consegui rodar…
Pelo google, encontrei que era preciso mudar o class para

“org.springframework.orm.hibernate4.LocalSessionFactoryBean”

Criado 14 de janeiro de 2012
Ultima resposta 21 de fev. de 2012
Respostas 5
Participantes 3