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

Persistance des données Java Discussion :

[EJB2.0]Vérifier inexistence d'un objet avant de le créer


Sujet :

Persistance des données Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [EJB2.0]Vérifier inexistence d'un objet avant de le créer
    Bonjour,

    Je débute un projet en struts/ejb2.0 à mon travail (je n'ai pas la possibilité de prendre autre chose) et je suis en train de me poser pas mal de questions; entre autre sur comment réaliser un enregistrement depuis un Bean Session Stateless qui attaque un EJB entity.

    En effet, j'aimerais avant de procéder à la création d'un nouvel enregistrement dont je connais les valeurs vérifier qu'il n'existe pas déjà un doublon en base ( même PK).

    J'ai donc fait le code suivant dans mon EJB session:

    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
        public void creerCompostage(String a, String b, String c, String d) throws Exception{
            // Vérification des valeurs fournies
            if (a.trim()==null || b.trim()==null || c.trim() ==null || d.trim()==null)
            { throw new Exception ("Impossible de créer un compostage avec des champs vides"); 
            // retour en erreur au niveau supérieur
            }    
     
            // vérification de l'inexistance d'un compostage identique en base
           try{
            CompostagePK pk = new CompostagePK();
            pk.cle=a;
            pk.num=b;
            CompostageLocalHome complocal = (CompostageLocalHome) getCompostageLocalHome().findByPrimaryKey(pk);
            }catch (FinderException f)
              {
                // le compostage n'existe pas on peut donc le créer
                try{ // création du DTO pour le nouveau compostage
                  CompostageLocalDTO compostage = new CompostageLocalDTO();
                  compostage.setCle(b);
                  compostage.setNum(a);
                  compostage.setTrim(c);
                  compostage.setTyp(d);
     
                  newCompostage(compostage);
                  }catch (Exception e){
                        throw new Exception(e.toString());
                    }
                  return;
                }
            // le compostage existe déjà, il va falloir sortir en erreur
                throw new Exception("Impossible de créer le compostage, un compostage identique existe déjà en base");
            }
        }
    Le fait de passer par l'exception pour le cas standard (pas de valeur préexistante) ne me semble pas du tout propre.

    J'aimerais donc savoir s'il y aurait une autre solution plus académique pour traiter ce cas.

    D'autre part, est-il possible dans un bloc catch de traiter plusieurs types d'exception différents ( namingException, finderException et RemoteException); et si oui comment? parce que là aussi j'ai réduit à Exception tout court mais je ne le sens pas.

    En m'excusant pour ces questions de nioubie maitrisant encore mal java et en remerciant d'avance ceux qui pourront me répondre ^^".

    Outils/Normes utilisés : struts 1.1, ejb 2.0, jdev 10.0.2 avec OC4J (la version qui y est incluse)
    Dernière modification par Invité ; 18/04/2008 à 17h08.

Discussions similaires

  1. Vérifier taille d'un fichier avant upload
    Par Guillaume_Caldera dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/11/2009, 09h32
  2. Attentre la définition d'un objet avant de l'utiliser (onDefine?)
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/03/2009, 08h06
  3. Remoting: comment initialiser l'objet avant de le publier?
    Par Rodrigue dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 05/03/2008, 17h22
  4. Réponses: 2
    Dernier message: 03/02/2007, 08h51
  5. Script objet avant methode formulaire?
    Par le_gueux dans le forum 4D
    Réponses: 17
    Dernier message: 17/07/2006, 15h46

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