IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Initialisation JPA par Spring


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut Initialisation JPA par Spring
    Bonjour à tous.

    J'ai un petit souci d'initialisation de mon architecture dont voici le détail.

    - Dao héritant de JpaDaoSupport
    - Base de données HSQLDB 1.8.0.7
    - Spring 2.5
    - Spring JPA 2.0.7
    - Hibernate 3.1
    - Entitées annotées par JPA

    Lors du lancement de mon container Spring j'ai l'erreur suivante pour laquelle je ne trouve aucune information sur la toile.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.AbstractMethodError: org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(Ljavax/persistence/spi/PersistenceUnitInfo;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;
    Voici la configuration spring de mon container :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
     
    		<property name="dataSource" ref="dataSource" />
    		<property name="persistenceUnitName" value="jpaPU" />
    		<property name="loadTimeWeaver">
        		<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
      		</property>
    	    <property name="jpaVendorAdapter">
    		    <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    		    	<property name="database" value="HSQL" />
    		       <property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" />
    		       <property name="showSql" value="true" />
    		       <property name="generateDdl" value="true" />
    		    </bean>
    	    </property>
    	</bean>
     
     	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
     
    	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
    		<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    		<property name="url" value="jdbc:hsqldb:file:/eclipse_wrk/database" />
    		<property name="username" value="sa" />
    		<property name="password" value="" />
    	</bean>
     
     
     
     
    	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    		<property name="entityManagerFactory" ref="entityManagerFactory" />
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    Avez-vous une petite idée ?

    Pour information, mon application est stand-alone donc, pas de serveur d'application (ni web, ni ejb).

    Ce que je ne comprends pas c'est l'utilisation de la classe org.hibernate.ejb.HibernatePersistence mais je suppose que c'est normal !

    Merci de votre aide

    Valère

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    déjà, pour commencer, enlèves le load time weaver de ton fichier de configuration de Spring: Hibernate n'a pas besoin de ça.

    Ensuite, essaies de nous donner le stackTrace complet, ou encore le log de démarrage.

    Autre chose: Utilises une version plus récente d'Hibernate, genre 3.2.5 au lieu de la 3.1.

    @+

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    La stack est simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [persistence-context.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(Ljavax/persistence/spi/PersistenceUnitInfo;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1362)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:407)
    	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:102)
    	at fr.----.util.SpringStart.setup(SpringStart.java:26)
    	at fr.----.util.SpringStart.main(SpringStart.java:41)
    Caused by: java.lang.AbstractMethodError: org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(Ljavax/persistence/spi/PersistenceUnitInfo;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;
    	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:218)
    	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1390)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359)
    	... 15 more

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Bon, c'est effectivement mieux en 3.2.1.ga.
    Il y a de drôles de dépendances en 3.2.5.ga pour le moment...

    J'ai maintenant d'autres problèmes mais liés à mon mapping.

    Merci beaucoup

    Valère

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Data] JPA managé par Spring 2.5 - transaction
    Par nean_j dans le forum Spring
    Réponses: 9
    Dernier message: 25/02/2011, 13h58
  2. JPA manager par Spring - configuration
    Par nean_j dans le forum JPA
    Réponses: 1
    Dernier message: 17/09/2008, 16h05
  3. JPA manager par Spring - Pagination
    Par nean_j dans le forum JPA
    Réponses: 1
    Dernier message: 08/09/2008, 12h07
  4. Réponses: 7
    Dernier message: 07/08/2008, 11h39
  5. [Data] [Spring DAO][JPA] JPA managé par Spring 2.5
    Par Ylias dans le forum Spring
    Réponses: 2
    Dernier message: 09/06/2008, 19h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo