2009-10-11 4 views
0

J'ai ce fichier .hbm.xml:Mise en veille prolongée QueryException ne pouvait pas résoudre la propriété

 Evenement.hbm.xml : 

     <hibernate-mapping package="com.af.evenement"> 
     <class name="Evenement" table="TB_EVENEMENT"> 

     <id name="id" type="string" column="CODE_EVENEMENT"> 
       <generator class="assigned" /> 
     </id> 

     <set name="causesAnnexes"> 
      <key column="CODE_EVENEMENT" /> 
      <one-to-many class="CausesAnnexesEvt" /> 
     </set> 
     ........ 

et j'ai cet autre fichier .hbm.xml: CausesAnnexesEvt:

 <class name="CausesAnnexesEvt" table="TB_CAUSESANNEXES_EVT"> 
      <composite-id name="id" class="CausesAnnexesEvtPK"> 
       <key-many-to-one 
        class="Evenement" 
        column="CODE_EVENEMENT" 
        name="Evenement" 
       /> 
       <key-many-to-one 
        class="Cause" 
        column="CODE_CAUSE" 
        name=cause" 
       /> 

       </composite-id> 
      </class> 

quand je essayez de supprimer un objet Evenement avec cette ligne de code:

 Session s=getCurrentSession(); 
     tx=s.beginTransaction(); 
     s.delete(evenement); 
     s.flush(); 
     s.clear(); 

quand je lance le code ci-dessus, je reçois l'exception suivante:

 QueryException : could not resolve property : causesAnnexesEvt. 

Répondre

0

Hibernate recherche un champ appelé causesAnnexesEvt dans votre classe Evenement mais il ne peut pas le trouver. Assurez-vous que le champ dans la classe et la définition de colonne dans le fichier hbm.xml utilisent le même nom.

0

L'exception affichée n'est pas levée par session.delete(). Soit vous ne nous avez pas montré le code complet (trace de la pile serait utile, btw) OU il est levé lors de l'initialisation de la fabrique de session (invoqué depuis getCurrentSession()?) Car l'une de vos requêtes nommées ne peut pas être analysée.

Donc, même si Aaron a raison de manquer causesAnnexesEvt propriété étant la cause de cette exception, il n'y a absolument rien dans votre message suggérant que ce devrait être une propriété de Evenement. Rechercher toutes les requêtes nommées pour causesAnnexesEvt et voir laquelle on fait référence et quelle entité il cherche à obtenir.

Questions connexes