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 :

Problème d'insert Hibernate / JPA


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Par défaut Problème d'insert Hibernate / JPA
    Bonjour, je débute dans l'utilisation d'outil de persistence, j'ai crée une petite appli Web, et j'ai un pb d'insert / update.

    J'ai ecrit une classe DAO, avec une methode toute simple qui fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Repository
    @Transactional
    public class DaoCategorie implements IDaoCategorie {
    ...
    @PersistenceContext
    private EntityManager em;
    ...
     
    public CategorieDepense ajouterUpdaterCategorieDepense(CategorieDepense c) {
    return em.merge(c);
    }
    ..
    }
    quand je la test avec un test JUnit, et que je precise sur ma methode de test : @Rollback(false), l'insert se passe bien :
    Hibernate: select nextval ('seq_cat')
    Hibernate: insert into categorie_depense (libelle_cat, recurrent, cat_id) values (?, ?, ?)
    quand j'utilise la meme methode dans mon appli, j'ai uniquement :
    Hibernate: select nextval ('seq_cat')
    l'insert ne s'est pas fait en base (une base postgresql).

    Mon context spring est :

    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
     
    	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    		destroy-method="close">
    		<!-- dans le code : setDriverClassName(String) -->
    		<property name="driverClassName" value="org.postgresql.Driver" />
    		<property name="url" value="jdbc:postgresql://localhost:5432/compte" />
    		<property name="maxActive" value="10" />
    		<property name="username" value="postgres" />
    		<property name="password" value="admin" />
    		<property name="minIdle" value="2" />
    	</bean>
     
    	<bean id="jpaVendorAdapter"
    		class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    		<property name="database" value="POSTGRESQL" />
    		<property name="showSql" value="true" />
    		<property name="generateDdl" value="false" />
    		<property name="databasePlatform" value="org.hibernate.dialect.PostgreSQLDialect" />
    	</bean>
    	<bean id="emf"
    		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    		<property name="dataSource" ref="dataSource" />
    		<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    	</bean> 
    	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    		<property name="entityManagerFactory" ref="emf" />
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    Si une bonne âme a une idée d'où vient le problème, ça serait sympa

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Par défaut
    je suis tombé sur ce post ou ça ressemble vraiment a mon problème, mais je n'ai ni trouvé, ni compris la solution ...

    forum.springsource.org/showthread.php?88939-No-insert-Spring-(3-x)-Hibernate-(3-5)-and-JPA-(2-0)

    You are using a BeanFactory where you should be using an ApplicationContext (chapter 3 explains the difference between both).
    quelqu'un pourrait m'expliquer ?

    Merci d'avance

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tx:annotation-driven/>
    dans applicationContext.xml ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Par défaut
    deja essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tx:annotation-driven  />
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tx:annotation-driven transaction-manager="transactionManager" />
    ca ne marche pas plus.

    je ne comprend vraiment pas ce que veut dire :
    Use an ApplicationContext instead of a BeanFactory
    j'ai beau lire la doc spring, je suis un peu dépassé !

    Je me demande si mon problème ne vient pas du fichier persistence.xml, qui ne contient quasi rien (soit disant géré par spring, c'est ce que m'a dit le formateur qui m'a fait la formation hibernate/spring) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
     
        <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL" >
        </persistence-unit>
    </persistence>

Discussions similaires

  1. Problème d'insertion en JPA (TOPLINK)
    Par tchernogod dans le forum Persistance des données
    Réponses: 0
    Dernier message: 26/04/2011, 12h09
  2. Problème d'insertion hibernate dans la base
    Par sheura dans le forum Hibernate
    Réponses: 5
    Dernier message: 20/09/2007, 14h02
  3. [HIBERNATE] Problème d'insert de masse en HQL
    Par ange bleu dans le forum Hibernate
    Réponses: 9
    Dernier message: 20/04/2006, 09h39
  4. [HIBERNATE] Problème d'insert
    Par zegreg dans le forum Hibernate
    Réponses: 1
    Dernier message: 23/03/2006, 20h38
  5. [Hibernate] problème d'insertion dans la base de données
    Par Willy7901 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/08/2005, 13h19

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