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

Hibernate Java Discussion :

[Criteria][Sous-objet] Restriction inopérante


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2002
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 57
    Par défaut [Criteria][Sous-objet] Restriction inopérante
    Bonjour,

    Je rencontre un souci dans une requête Hibernate avec Criteria (version 3.2) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    list = session.createCriteria(Formateur.class)
    	            	.add(Restrictions.sqlRestriction("organisme.nom like '%" + nomOrganisme +"'"))
    	            	.list();
    Fichier de mapping :

    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
    34
    35
    36
    37
    38
    39
    40
    41
     
    <hibernate-mapping>
        <class name="formation.modele.Formateur" table="formateur" schema="public">
            <id name="idFormateur" type="int">
                <column name="id_formateur" />
                <generator class="assigned" />
            </id>
            <many-to-one name="organisme" lazy="false" class="formation.modele.Organisme" fetch="select">
                <column name="id_organisme" not-null="true" />
            </many-to-one>
            <property name="nom" type="string">
                <column name="nom" length="50" />
            </property>
            <property name="prenom" type="string">
                <column name="prenom" length="50" />
            </property>
            <property name="isInterne" type="java.lang.Short">
                <column name="is_interne" />
            </property>
            <set name="categories" inverse="false" lazy="true" table="categorie_formateur" fetch="select">
                <key>
                    <column name="id_formateur" not-null="true" />
                </key>
                <many-to-many entity-name="formation.modele.Categorie">
                    <column name="id_categorie" not-null="true" />
                </many-to-many>
            </set>
            <set name="sessions" inverse="true" lazy="true" table="session" fetch="select">
                <key>
                    <column name="id_formateur" not-null="true" />
                </key>
                <one-to-many class="formation.modele.Session" />
            </set>
            <set name="competenceFormateurNiveaus" inverse="true" lazy="true" table="competence_formateur_niveau" fetch="select">
                <key>
                    <column name="id_formateur" not-null="true" />
                </key>
                <one-to-many class="formation.modele.CompetenceFormateurNiveau" />
            </set>
        </class>
    </hibernate-mapping>
    La requête de retourne aucun résultat. Je ne rencontre pas ce souci lorsque la restriction se fait sur des propriétés directes de la classe Formateur (comme Formateur.nom).

    Merci d'avance !

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2002
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 57
    Par défaut
    J'ai finalement résolu le souci en procédant de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    String hql = " from Formateur F where F.nom = :nomFormateur and F.organisme.nom = :nomOrganisme";
    	                Query query = session.createQuery(hql)
    	                .setParameter("nomFormateur", nomFormateur)
    	                .setParameter("nomOrganisme", nomOrganisme);
    	                list = query.list();

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

Discussions similaires

  1. [POO] cloner un objet (et tous ses sous objets ?)
    Par Merfolk dans le forum Langage
    Réponses: 11
    Dernier message: 05/05/2008, 16h23
  2. [Criteria] Sous-requête (requête dans une requête)
    Par thibane dans le forum Hibernate
    Réponses: 3
    Dernier message: 12/04/2008, 21h07
  3. Réponses: 1
    Dernier message: 03/01/2008, 17h20
  4. [criteria] Appliquer une restriction sur un set
    Par ankou82 dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/08/2007, 15h10
  5. [POO] [débutant] reference d'un sous objet
    Par Knightrider76 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/07/2007, 11h05

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