Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1428 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Erreur Hibernate : lors de la suppression

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur Hibernate : lors de la suppression

n°968964
aphenomeb
Posté le 02-02-2005 à 09:51:40  profilanswer
 

Bonjour,
 
J'ai un problème avec Hibernate, lorsque je veux supprimer un objet avec des associations, il ne veut pas me le supprimer et il lance cette exception : net.sf.hibernate.ObjectDeletedException : deleted object would be re-saved by cascade (remove deleted object from associations): 34, pack.Reservation
 
voila ce qui a dans mes fichiers de mapping :  
 
un objet Pret :  
 
<class name="pack.Pret" table="pret">
     
     <id name="pretID" column="pret_id" unsaved-value="null">
            <generator class="native"/>
        </id>
        <property name="title" column="title"/>
 
        <set name="reservations" lazy="false" table="reservation"
                             cascade="all-delete-orphan">
     <key column="pret_id"/>
            <one-to-many class="pack.Reservation" />
 </set>
 
    </class>
 
 
et l'objet reservation
 
<hibernate-mapping>
    <class name="pack.Reservation" table="reservation">  
        <id name="reservationID" column="reservation_id" unsaved-value="null">
            <generator class="native"/>
        </id>
       <property name="comment"/>
       <property name="pretID" column="pret_id"/>
       <many-to-one name="materiel" cascade="none" class="pack.Materiel" column="materiel_id" />
    </class>
</hibernate-mapping>
 
 
lors de mes tests, il se trouve que lorsque je supprime la ligne : <many-to-one name="materiel" cascade="none" class="pack.Materiel" column="materiel_id" />, la suppression de l'objet Pret s'effectue, en supprimant bien toutes les reservations associées, visiblement le lien entre une réservation et un matériel bloque la suppression.
 
 
Ce problème me bloque vraiment, si quelqu'un a une idée, je lui en serait très reconnaissant, Merci.

mood
Publicité
Posté le 02-02-2005 à 09:51:40  profilanswer
 

n°969066
the real m​oins moins
Posté le 02-02-2005 à 11:04:35  profilanswer
 

Salut,
 
Tu fais peur quand tu dis

aphenomeb a écrit :

lorsque je supprime la ligne : <many-to-one name="materiel" cascade="none" class="pack.Materiel" column="materiel_id" />


... alors je me permet de te demander si tu sais de quoi tu parles ou si t'y vas au hasard?
 
Sinon, suivant le résultat que tu veux, à mon avis tu dois specifier un type de cascade sur pret->materiel ? Je maitrise pas à fond les relations avec hibernate donc je peux pas t'en dire plus sans aller lire la doc a ta place [:icon12]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°969102
aphenomeb
Posté le 02-02-2005 à 11:22:45  profilanswer
 

en fait, j'ai juste besoin de récuperer un materiel qui est associé à une reservation, il ne faut pas que celui-ci soit supprimé si la reservation est supprimée avec la fiche de prêt, donc le cascade doit être bien mis à none. Concernant la doc, j'ai cherché mais g pas trouvé un cas similaire, même ds le bouquin "hibernate in action" et dans le doc sur le site d'hibernate et est-ce que je sais de quoi je parle, je crois que oui, faits moi confiance ;-)

n°969104
the real m​oins moins
Posté le 02-02-2005 à 11:24:24  profilanswer
 

oui, cascade à none pour materiel->pret, mais dans l'autre sens de la relation tu dois pas le spécifier aussi? (je suis pas sur du comportement par défaut?)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°969121
aphenomeb
Posté le 02-02-2005 à 11:33:33  profilanswer
 

the real moins moins a écrit :

oui, cascade à none pour materiel->pret, mais dans l'autre sens de la relation tu dois pas le spécifier aussi? (je suis pas sur du comportement par défaut?)


 
 
pour le materiel g ça
 
<class name="pack.Material" table="material">
  <id name="materialID" column="material_id" unsaved-value="null">
   <generator class="native"/>
  </id>
  <property name="comment"/>
                 <property name="name"/>
  <set name="reservations" table="reservation"  lazy="false" cascade="all">
   <key column="material_id"/>
   <one-to-many class="pack.Reservation" />
  </set>
               ...
 
ça marche nickel, lorsque je veux supprimer une reservation d'un materiel.
 
en fait un materiel n'est pas lié directement à une fiche de prêt, il est lié par le biais d'une reservation, en fait un materiel peut avoir plusieurs reservations, c'est pour cela qu'il ne faut pas qu'il soit supprimé si on supprime un pret avec des reservation.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Erreur Hibernate : lors de la suppression

 

Sujets relatifs
[Access]pb de requete de suppressionPb d'initialisation hibernate sous tomcat : hibernate.cfg.xml
petite question sur erreur gdbErreur avec adStateClose
erreur "undefined index" lors controle checkbox[BATCH] Suppression de fichier en fonction du temps
[C++/Qt] erreur de librairie time.htest mysql : erreur de script
suppression barre de scrolling horizontaleperceptron - correction d'erreur et descente du gradient
Plus de sujets relatifs à : Erreur Hibernate : lors de la suppression


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR