Me gustaría actualizar mi Maven pom.xml con las últimas dependencias de hibernación, hibernación-anotación y ehcache.¿Cuáles son las dependencias de Maven para usar hibernate, hibernate annotations y ehcache?
Leo la página de descarga de hibernación y la página de descarga de ehcache. Todos mis intentos de interpretarlo parecen fallar. ¿Alguien puede escribir el fragmento que debe entrar en pom.xml?
Cryptic página de hibernación descarga: http://hibernate.org/downloads
Cryptic página ehcache descarga: http://www.terracotta.org/dl/ehcache-oss-download-catalog
Esto es lo que tengo hasta ahora:
<properties>
<hibernate.version>3.6.0.Final</hibernate.version>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
<exclusion>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.2.0</version>
<type>pom</type>
</dependency>
</dependencies>
<repositories>
<repository>
<id>codehaus-repository</id>
<name>Codehaus</name>
<url>https://nexus.codehaus.org/content/repositories/releases/</url>
<layout>default</layout>
</repository>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/1</url>
<layout>legacy</layout>
</repository>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-ehcache</id>
<url>http://oss.sonatype.org/content/repositories/sourceforge-releases</url>
<layout>default</layout>
</repository>
<repository>
<id>JBoss Repository</id>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
<layout>default</layout>
</repository>
</repositories>
que sé, se ve como un gran lío , porque parece que no lo sé, donde se almacenan todas las dependencias.
lo anterior falla con:
Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
Actualización: Pascal, su respuesta es muy clara y bien explicado. Sin embargo, hibernate aún falla al inicio.
sl4j arrojó errores, que se fueron añadiendo:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency>
Hay muchos ejemplos de esta advertencia:
g in the two-phase commit! 1797 [main] WARN net.sf.ehcache.hibernate.AbstractEhcacheRegionFactory - No Tr ansactionManagerLookup found in Hibernate config, XA Caches will be participatin
Además, este error hace que todo falla:
Causa relacionada:
org.springframework.beans.factory.BeanCreationException: Error creating bean wit h name 'financialDAO' defined in ServletContext resource [/WEB-INF/config/applic ationContext-database.xml]: Cannot resolve reference to bean 'transactionManager ' while setting bean property 'transactionManager'; nested exception is org.spri ngframework.beans.factory.BeanCreationException: Error creating bean with name ' transactionManager' defined in ServletContext resource [/WEB-INF/config/applicat ionContext-database.xml]: Cannot resolve reference to bean 'sessionFactory' whil e setting bean property 'sessionFactory'; nested exception is org.springframewor k.beans.factory.BeanCreationException: Error creating bean with name 'sessionFac tory' defined in ServletContext resource [/WEB-INF/config/applicationContext-dat abase.xml]: Invocation of init method failed; nested exception is java.lang.Null PointerException at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveReference(BeanDefinitionValueResolver.java:328)
Para confirmar, esta es la configuración de la primavera:
<!-- Enable EHCache -->
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>
<prop key="net.sf.ehcache.configurationResourceName">/ehcache.xml</prop>
Actualización: Esta parece ser la última excepción de que Hibernate se queda atascado en:
Caused by: java.lang.NullPointerException
at net.sf.ehcache.hibernate.HibernateUtil.loadAndCorrectConfiguration(HibernateUtil.java:48)
at net.sf.ehcache.hibernate.EhCacheRegionFactory.start(EhCacheRegionFactory.java:79)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:236)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
Try sin su ehcache .xml por ahora (es decir, eliminarlo de su configuración de primavera). –
Cuando elimino todas las entradas de ehcache en hibernateproperties, la aplicación comienza bien. Cuando elimino solo la entrada configurationResourceName, dice que está usando la configuración de failover. El formato – Thomas