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

Android Discussion :

GreenDao - Entité avec plusieurs relations OneToMany du même type


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Points : 15
    Points
    15
    Par défaut GreenDao - Entité avec plusieurs relations OneToMany du même type
    Bonjour à tous,

    Mon application comporte actuellement des fiches Produit auxquelles sont rattachées trois listes de documents. A noter que ces documents ont tous la même forme, seul leur dénomination change.
    Un produit peut comporter plusieurs documents de chaque type.
    Pour le stockage en db, je pourrais intégrer à chacune de mes entrées Document une string désignant son type mais je me demandais s'il n'était pas préférable de créer 3 relations à partir de mon entité Produit pour chaque liste de Document dans mon schéma de données GreenDao.

    J'ai tenté sous cette forme :

    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
      Entity produit = schema.addEntity("Produit");
        produit.addIdProperty().autoincrement();
        produit.addStringProperty("nom_produit");
        produit.addStringProperty("accroche_courte");
        produit.addStringProperty("texte_1");
        produit.addStringProperty("texte_2");
        produit.addStringProperty("puce_1");
        produit.addStringProperty("puce_2");
        produit.addStringProperty("puce_3");
        produit.addStringProperty("puce_4");
        produit.addStringProperty("puce_5");
        produit.addStringProperty("puce_6");
        produit.implementsInterface("Parcelable");
     
        Entity document = schema.addEntity("Document");
        document.addIdProperty().autoincrement();
        document.addStringProperty("nom_fichier");
        document.addStringProperty("url");
     
        /*A Produit has many Document*/
        Property produitToDocumentIdProperty = document.addLongProperty("produitId").notNull().getProperty();
        ToMany produitToDocuments = produit.addToMany(document, produitToDocumentIdProperty);
        produitToDocuments.setName("fiches_techniques");
        ToMany produitsToDocuments2 = produit.addToMany(document, produitToDocumentIdProperty);
        produitsToDocuments2.setName("documents_associes");
        ToMany produitsToDocuments3 = produit.addToMany(document, produitToDocumentIdProperty);
        produitsToDocuments3.setName("tableau_efficacite");
    Cependant, j'obtiens bien les getter de chaque liste sur mon Produit mais pas les setter.
    La doc de GreenDao explique en effet comment créer plusieurs relations en OneToONe avec plusieurs fois la même Entity sous différents noms mais pas dans le cas ou l'on a affaire à du OneToMany...
    Suis-je condamné à créer une Entity par Document ?

    Merci d'avance,

    Kupris.

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    En fait tu veux faire du OneToMany ?

    Ce que tu peux faire c'est créer une nouvelle table TypeDocument qui sera relié a Document pour définir son type, si tu ne veux pas avoir le type dans la classe Document.

    Et tu as bien une relation OneToMany entre tes Produits et Document.

    et si tu crée la table Type une relation OneToMany entre le type et Document
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/05/2013, 15h01
  2. Une entité avec plusieurs relations oneToOne
    Par ray-k dans le forum Doctrine2
    Réponses: 5
    Dernier message: 03/08/2012, 15h55
  3. Réponses: 4
    Dernier message: 06/02/2012, 09h55
  4. [MCD] Plusieurs relations entre 2 mêmes entités
    Par zoaax dans le forum Schéma
    Réponses: 4
    Dernier message: 08/02/2011, 13h42
  5. Réponses: 0
    Dernier message: 23/07/2009, 15h45

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