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] Appliquer une restriction sur un set


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut [criteria] Appliquer une restriction sur un set
    Bonjour


    J essai de faire une recherche par criteria. sur des sessionDatee, bref un objet quelconque

    j ai dans la classe SessionDatee ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      /** Set[ReservationRessource] reservationsRessources */
      private Set reservationsRessources = new HashSet();
    voici ou est le probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (pCriteria.critereIsSet(SessionDateeCriteria.CRT_RESSOURCE)) {
          criteria
            .createCriteria("reservationsRessource")
            .createCriteria("ressource")
            .add(
              Restrictions.eq(
                "id",
                pCriteria.getCriteriaAsInteger(
                  SessionDateeCriteria.CRT_RESSOURCE)));
        }

    voici le message d erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Caused by: org.hibernate.QueryException: could not resolve property: reservationsRessource of: com.airfrance.asgcommons.enterpriselayer.businessobject.SessionDatee
    reservationsRessource est un set de ReservationRessource.

    Avez vous une idée ?

    merci

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Dans un cas (celui de ta classe sessionDatee) tu écris :
    reservationsRessources
    et dans l'autre, dans ton criteria:
    reservationsRessource

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    J'ai honte.........


    cependant rectification faite je reviens au probleme que j'évoquais

    voici le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Caused by: org.hibernate.MappingException: collection was not an association: com.airfrance.asgcommons.enterpriselayer.businessobject.SessionDatee.reservationsRessources

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux nous montrer le mapping ?

  5. #5
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    oui je peux.

    mais il me semble avoir trouvé ma reponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hibernate currently does not support joining a collection of components or other value types with Criteria. Use HQL or submit a patch that implements this functionality.


    sinon voici le 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
        <class name="SessionDatee" table="SESSION_DATEE">
     
        ....
            ....
                <set name="reservationsRessources" table="RESERVATION_RESSOURCE" lazy="false" cascade="all-delete-orphan">
                <key>
    				<column name="SESSION_DATEE" precision="22" scale="0" not-null="true"/>
                </key>
                <composite-element class="ReservationRessource">
    		        <property name="numeroCreneau" type="java.lang.Integer">
    		            <column name="NUMERO_CRENEAU" precision="22" scale="0" />
    		        </property>
    		        <property name="dateDebut" type="java.util.Date">
    		            <column name="DATE_DEBUT" not-null="true"/>
    		        </property>
    		        <property name="dateFin" type="java.util.Date">
    		            <column name="DATE_FIN" not-null="true"/>
    		        </property>
    		        <many-to-one name="ressource" class="Ressource" lazy="false">
    		            <column name="RESSOURCE" precision="22" scale="0" not-null="true"/>
    		        </many-to-one>
    		    </composite-element>
            </set>
        </class>

    voila

Discussions similaires

  1. [Etat] appliquer une condition sur une somme
    Par Oluha dans le forum IHM
    Réponses: 5
    Dernier message: 13/02/2006, 13h34
  2. [VB-VS2005]Appliquer une requete sur un datset deja rempli
    Par Pasiphae dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/01/2006, 15h01
  3. ajouter une restriction sur une requete
    Par linou dans le forum Oracle
    Réponses: 2
    Dernier message: 19/10/2005, 14h20
  4. [icone]Comment appliquer une icone sur le.exe
    Par JavaLeDirePartout dans le forum JBuilder
    Réponses: 7
    Dernier message: 24/07/2003, 17h28

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