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

NHibernate Discussion :

[NHibernate] Recheche, polymorphisme, propriété introuvable


Sujet :

NHibernate

  1. #1
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut [NHibernate] Recheche, polymorphisme, propriété introuvable
    Bonjour à tous,

    Contexte:
    J'utilise NHibernate 1.0.x assimilable a Hibernate 2.1.

    Les classes :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Personne {
      public int Id;
      public string Nom; 
    }
     
    // Individu: Personne physique
    public class Individu: Personne {
      public string Prenom;
    }
     
    // Societe: Personne morale
    public class Societe: Personne {
      public string FormeJuridique
    }
    J'ai choisit de mapper Individu et Societe avec join-subclass (donc 3 tables en bdd).
    Tout est ok, la config NHibernate, les fichiers de mapping, je peux créer, modifier, supprimer... tout baigne.

    But
    Je désire faire une recherche de Personne avec comme critères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom = "toto" OR Prenom = "titi" OR FormeJuridique = "tutu"
    Problème
    Avec Session.CreateCriteria() sur la classe Personne, il me dit qu'il ne connait pas la pas la propriété Prenom (ni FormeJuridique).

    Pourtant, si je lui demande que des Personnes avec Nom = "toto", il me retournera aussi bien des individus que des société ayant ce nom.

    Question
    Peut-on faire une recherche sur un type de base (Personne) en faisant un/des test sur une propriété d'une des classes enfants ?
    Autrement dit, suis-je le seul à vouloir chercher des personnes (individu, société, ...) avec des critères que certains descendant n'ont pas ?

    D'avance, comme me dise pas que c'est logique. Car pourquoi alors hibernante nous ramenne complétement un Individu quand je ne lui demande que des personnes. On trouve ça génial, et ça l'est d'ailleurs, et on dit que c'est du polymorphisme. Mais pourtant, la propriété "Prenom" n'est pas connu de la classe "Personne".

    Merci d'avance.
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    +1

    Merci.
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  3. #3
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Bon, ok, c'est pas possible.
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

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

Discussions similaires

  1. [NHibernate]Propriété Many-to-one et composite-id
    Par zoaax dans le forum NHibernate
    Réponses: 2
    Dernier message: 28/11/2011, 19h23
  2. [NHibernate] Collection est polymorphisme
    Par MacReiben dans le forum NHibernate
    Réponses: 0
    Dernier message: 05/10/2011, 14h22
  3. Réponses: 0
    Dernier message: 15/11/2010, 12h28
  4. Réponses: 4
    Dernier message: 03/07/2006, 16h00
  5. [propriétés]Option Checked
    Par psl dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/08/2002, 08h07

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