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 :

[EJB3] insertion unique d'un enregistrement


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut [EJB3] insertion unique d'un enregistrement
    Bonjour,
    Comment faire pour que mon EJB n'enregistre pas deux fois un POJO ayant la meme valeur d'un attribut précis. ??

    Dois je faire une méthode métier et l'annoter en @PrePersist?? ou c'est supporté nativement?

    Merci d'avance

    P.S: j'ai essayé via les relations mais ca ne fonctionne pas. Je peux toujours enregistré plusieurs fois la meme valeur

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    @Column(unique=true)
    sur ta propriété

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut
    Citation Envoyé par phantomass Voir le message
    @Column(unique=true)
    sur ta propriété
    Bonjour,

    Merci de répondre à ma question , tout d'abord.

    J'avais mis cette annotation mais pas dans la bonne classe.

    Maintenant effectivement ca marche bien mais par contre ca me lève une exception.
    Pour éviter d'avoir cette exception, et que le logiciel continue à travailler , dois je attraper l'exception avec throw? J'aimerai passer outre cette exception et continuer comme si de rien n'était. Mais par contre j'ai besoin d'aller chercher l'id de la propriété (présente dans la base) portant la meme valeur.


    Dnas ma base, j'ai par exemple,

    1 Laboratoire

    Si j'essaie d'enregistrer Laboratoire, qu'il ne le fasse pas mais qui me récupère la valeur '1' pour l'enregistrer dans une autre table en clé étrangère.

    Merci

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    Si c'est un besoin fonctionnel, dans ta transaction avant d'essayer de sauver ton entité en base tu peux requeter la base pour voir si il y a déjà une entité avec la propriété déjà existante.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut
    ok ce que je pensais .

    Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/03/2006, 17h35
  2. [postgreSQL] Heritage Insertion unique
    Par Bronks78 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/02/2006, 11h51
  3. Trouve l'identifiant unique du dernier enregistrement créé.
    Par Poussy-Puce dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/01/2006, 15h46
  4. Réponses: 2
    Dernier message: 30/09/2005, 16h41
  5. insertion : comment récupérer l'enregistrement ?
    Par farmer dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/04/2005, 19h57

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