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 :

persist mais rien en base


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut persist mais rien en base
    Bonjour,

    J'ai un problème plutôt gênant avec JPA.
    En fait, je suis en train de faire persister un objet avec l'instruction em.persist(monObjet), seulement je n'ai pas d'erreur, mais je n'ai pas non plus mes données en base.

    Je précise que le mapping doit être bon car je peux faire des requêtes et j'ai bien mes données.

    quelqu'un aurait il une idée d’où peux venir le problème ?

    merci d'avance !

    Environnement :
    glassfish 4
    JPA 2.1
    EclipseLink 2.5
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu as bien fait un commit de ta transaction après le persist? Tant que pas de commit, rien dans la base de donnée

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Merci de ta réponse tchize_ !

    Actuellement j'utilise un type de transaction JTA.
    J'ai peut être mal compris, mais je pensais que la transaction était géré par le framework, qui créé une UserTransaction et qui s'occupe de faire le commit. sauf si tu utilise un type de transaction RESOURCE_LOCAL ou si tu décides de géré toi même la transaction en la récupérant sur le context.

    De toute évidence, je dois être dans l'erreur puisque cela ne marche pas !
    Je veux bien quelques éclaircissements ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Bonjour,

    En plus de JPA, utilises-tu Spring (ou équivalement) pour gérer l'injection de dépendance ?

    Si oui, les transactions sont gérées par les proxys dynamiques générés par Spring. Pour marquer une méthode comme transactionnelle (et ainsi assurer la persistance en base), il faut utiliser l'annotation @Transactionnal.

    Dans une application n-tiers, on met généralement cette annotation au niveau de la couche de Service (Spring s'occupant de propager la transaction).
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    merci a tout les deux pour votre aide !

    @CyberChouan en fait je n'utilise pas spring mais ce que tu as dis ma mis sur la piste. il me manquait bien une annotation pour indiquer au container que pour exécuter la méthode il faut une transaction :
    @TransactionAttribute(TransactionAttributeType.REQUIRED)

    Merci c'est maintenant Résolu
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Salut,

    Juste un petit mot sur le persist.

    En JPA, quand on fait un persist, c'est comme si on disait au moteur de persistence de "suivre" l'entité (la mettre en cache) et non de la commiter en base (pour des raisons de performances). Et lors du commit de la transaction, tous les traitements qui ont été réalisés sur les entités pendant la transaction sont commités.

    Si on veut la commiter sans attendre la fin de la transaction (dans le cas d'un retour d'id après un enregistrement par exemple) il faut utiliser la méthode flush() qui persiste l'entité en base (envoie la requete SQL à la base) sans commiter toute la transaction.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

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

Discussions similaires

  1. C++ : Heritage multiple mais de même base.
    Par hpfx dans le forum C++
    Réponses: 28
    Dernier message: 12/07/2007, 13h28
  2. Réponses: 5
    Dernier message: 15/06/2007, 19h26
  3. Réponses: 10
    Dernier message: 16/05/2007, 17h47
  4. intérim puis cdi, mais rien
    Par hitman31 dans le forum Droit du travail
    Réponses: 11
    Dernier message: 18/02/2007, 19h00
  5. [Debutant]Insertion nulle mais '' dans la base
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 18/04/2005, 09h58

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