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 :

ArrayList avec plusieurs objets


Sujet :

Persistance des données Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 40
    Points : 29
    Points
    29
    Par défaut ArrayList avec plusieurs objets
    Bonjour à tous, je reviens vers vous pour avoir une solution standard à un problème.

    J'ai plusieurs classe qui sont les entités de ma base de données, un service DAO, avec une méthode findAll().

    Sur des requêtes de type SELECT *, aucun problème je retourne une ArrayList de type entité dans ma méthode findAll().

    Maintenant mon problème est que je veux une ArrayList avec des champs de différents entités, j'ai donc ma requête avec mes différents jointure, ma question est la suivante.

    Faut il pour cela créer une classe par exemple ContratClient avec dans cette classe des attributs communs à Contrat et Client, et ensuite retourner une ArrayList de type ContratClient ?
    Ou alors créer un nouveau constructeur dans ma classe Contrat, en lui ajout un paramètre ou plusieurs de type Class ?

    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    Voici deux possibilités qu'il m'arrive d'utiliser.

    1-je fais ma requete qui contient mes entites mais les stockent dans un ArrayList<Object>
    puis lors du parcours de l'arrayList ,je vérifie l'instance stocké avec instanceof.
    Bon j'avoue cette méthode n'est pas clean.

    2-Je crée une classe bref c'est pattern domain.Dans cette classe tu mets les entités et les champs dont tu as besoin.
    Ensuite tu fais un constructeur avec ces attributs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Test{
    private A entite1;
    private B entite2;
    public Test(A a,B b){
    this.entite1=a;
    this.entite2=b;
    }
    //getter and setter
    }
    Tu pourras ensuite ta requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select new Test(a,b) from A a ......B b
    tu auras un ArrayList<Test>
    Ce qui ne me tue pas me rend plus fort.

  3. #3
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par clems_t Voir le message
    Bonjour à tous, je reviens vers vous pour avoir une solution standard à un problème.

    J'ai plusieurs classe qui sont les entités de ma base de données, un service DAO, avec une méthode findAll().

    Sur des requêtes de type SELECT *, aucun problème je retourne une ArrayList de type entité dans ma méthode findAll().

    Maintenant mon problème est que je veux une ArrayList avec des champs de différents entités, j'ai donc ma requête avec mes différents jointure, ma question est la suivante.

    Faut il pour cela créer une classe par exemple ContratClient avec dans cette classe des attributs communs à Contrat et Client, et ensuite retourner une ArrayList de type ContratClient ?
    Ou alors créer un nouveau constructeur dans ma classe Contrat, en lui ajout un paramètre ou plusieurs de type Class ?

    Merci pour votre aide.
    Bonjour,
    Si tu peux faire une jointure à la JPQL, c'est que tu n'as pas besoin de récupérer de cette façon, il doit te suffire de récupérer une seule entité, et faire un getTonEntiteLiee sur l'entité principale extraite, et tu auras ta 2eme ou nième entité.
    Il faut rester en Object quand on fait du JPA. C'est l'esprit JDBC de travailler ainsi je trouve.
    Tu peux nous demander plus de détails si t'as pas compris.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Je m'aperçoit que je n'avais pas donné suite à la discution. Après de la lecture de plusieurs articles et vos réponses j'ai compris le concept et cela m'a permis d'avancer .

    Bonne journée.

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

Discussions similaires

  1. Parcours d'un tableau avec plusieurs objets
    Par aShtk dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 14/01/2012, 13h13
  2. [Vxi3] Liste de valeurs avec plusieurs objets
    Par dessinateurttuyen dans le forum Webi
    Réponses: 3
    Dernier message: 07/12/2011, 16h22
  3. diagramme d'activités avec plusieurs objets
    Par wafiwafi dans le forum UML
    Réponses: 2
    Dernier message: 28/09/2011, 22h27
  4. XMLEncoder avec plusieurs objets
    Par jaystudent dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 01/02/2010, 13h59
  5. Réponses: 3
    Dernier message: 29/03/2007, 12h39

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