Quelles sont les dépendances de Maven pour utiliser hibernate, les annotations d'hibernation et ehcache?
Je voudrais mettre à jour mon Maven pom.xml avec la dernière mise en veille prolongée, hibernate annotations, et ehcache dépendances.
J'ai lu les hibernate page de téléchargement et le ehcache télécharger la page. Toutes mes tentatives à l'interprétation, il semble à l'échec. Quelqu'un peut-il écrire le bout de code qui devrait aller dans pom.xml?
Cryptique hibernate page de téléchargement:
http://hibernate.org/downloads
Cryptique ehcache page de téléchargement:
http://www.terracotta.org/dl/ehcache-oss-download-catalog
Voici ce que j'ai à ce jour:
<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>
Je sais, ça ressemble à un gros gâchis, parce que je ne semble pas comprendre, où toutes les dépendances sont stockées.
Ci-dessus échoue avec:
Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
Mise à jour:
Pascal, votre réponse est très clair et bien expliqué. Cependant, hibernate ne parvient toujours pas au démarrage.
-
sl4j jeté des erreurs, ce qui est allé loin en ajoutant:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency>
-
Il existe de nombreux exemples de cette mise en garde:
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
-
En outre, cette erreur fait tout échouer:
Liées cause:
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)
Pour confirmer, c'est le printemps de configuration:
<!-- 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>
Mise à jour:
Ce qui semble être la dernière exception que hibernate reste bloqué sur:
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)
source d'informationauteur Thomas
Vous devez vous connecter pour publier un commentaire.
Si vous avez vraiment dire les ultimes versions de hibernate annotations (et pas de mise en veille prolongée-entitymanager) et ehcache, alors vous aurez besoin de ce qui suit:
De Hibernate 3.6, JDK 1.4 support a été abandonné et le Hibernate Annotations ont été fusionnées en Core.
Je vous signifiait Hibernate EntityManager, puis remplacez
hibernate-core
parhibernate-entitymanager
dans l'extrait ci-dessus.Concernant EHCache,
ehcache-core
devrait fournir tout ce dont vous avez besoin (y compris les implémentations de la "nouvelle" Hibernate 3.3/3.5 mise en cache de SPI avec sesCacheRegionFactory
). Donc, comme documenté:Suivi: pour répondre À ta mise à jour:
Bien, je ne peux pas deviner ce que la journalisation framework que vous utilisez, en fournissant la liaison de votre choix est laissé comme exercice pour le lecteur 🙂
Je reçois un seul
WARNING
lors de l'exécution dans un non environnement JTA. Si c'est votre cas (non environnement JTA), je considère leWARNING
comme d'habitude. Si ce n'est pas votre cas, jetez un oeil à la documentation sur JTA.C'est en quelque sorte une autre question (mais il semble que la
SessionFactory
ne parvient pas à s'initialiser correctement, activer la journalisation pour voir pourquoi) et je vous suggère de poster un nouveau printemps, la question spécifique.