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

QxOrm Discussion :

[QxOrm 1.2.2] Bogue avec les relations OneToMany


Sujet :

QxOrm

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut [QxOrm 1.2.2] Bogue avec les relations OneToMany
    Hello !

    Je ne sais pas si ça vient de mon côté, mais j'ai un bug avec les relations. Je soupçonne mon script de création de BDD d'être à l'origine de cela, mais je n'en suis pas certain.

    Voici ci-joint, un exemple qui montre que l'id de la relation n'est pas inséré quand on fait appel à insert_with_all_relations.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut
    Note: j'ai du tronquer mon script, du coup, bien penser à effacer la base de donnée à chaque test.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 482
    Par défaut
    J'ai regardé (très) vite fait ton code, j'ai juste une remarque comme ça :
    - Dans ta classe Person, tu as une relation one-to-many vers Pizza ;
    - Il manque côté Pizza une relation many-to-one vers Person.

    Un truc que tu peux essayer, c'est le tutoriel qxBlog qui est présent dans le dossier ./test/ du package QxOrm.
    Il contient ce type de relation : http://marty-lionel.developpez.com/t...el-qxblog/#LVI
    Ce serait bien que tu essayes de reproduire ton soucis avec le tutoriel qxBlog :
    - si ça marche dans qxBlog => c'est que ça vient de ton code ;
    - si ça ne marche pas dans qxBlog => alors c'est un bug de la bibliothèque.
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut
    Citation Envoyé par QxOrm Voir le message
    J'ai regardé (très) vite fait ton code, j'ai juste une remarque comme ça :
    - Dans ta classe Person, tu as une relation one-to-many vers Pizza ;
    - Il manque côté Pizza une relation many-to-one vers Person.
    Ah ! C'est obligatoire la symétrie ?

    C'est également valable pour les relations n-n ?

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 482
    Par défaut
    C'est important oui, même pour les relations n-n.
    Regarde le tutoriel qxBlog, c'est exactement comme ça qu'il est construit...
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut
    Bonjour à nouveau,

    J'ai simplifié et corrigé mon exemple, je fais de mon mieux pour montrer ce bogue.
    En fait, je suis maintenant presque certain que ça ne vient pas de mon script de création de la BDD.
    Je peux essayer de le reproduire dans qxblog, mais je ne pense pas que ça va simplifier la résolution du bug: l'exemple que je met en pièce jointe est minimal et simple à comprendre.
    Je vais quand même essayer...

    En fait, je pense que ça marche côté qxblog car l'insert est fait côté ManyToOne de la relation.

    J'espère que tu pourras m'éclairer, c'est assez critique...
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Besoin de précision avec les relations entre Tables
    Par johnvox dans le forum Outils
    Réponses: 10
    Dernier message: 17/12/2008, 17h45
  2. Problème avec les relations dans mon modèle
    Par wam35 dans le forum Schéma
    Réponses: 3
    Dernier message: 21/01/2008, 20h22
  3. Pb avec les relations
    Par altair8080 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 10/12/2007, 14h25
  4. importer des tables avec les relations
    Par guigui5931 dans le forum Access
    Réponses: 5
    Dernier message: 23/06/2006, 12h14
  5. enregistrement, probleme avec les relations
    Par Nelmo dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/04/2006, 17h23

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