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

  FORUM HardWare.fr
  Programmation
  Java

  impossible de supprimer un objet avec hibernate3+struts

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

impossible de supprimer un objet avec hibernate3+struts

n°2119854
sdi9
Posté le 06-01-2012 à 09:14:05  profilanswer
 

bonjour a tous;
 
voila, je developpe une application j2ee sous eclipse galileo(Struts1.2+hibernate3+BD Mysql), vraiment je me trouve incapable de trouver la solution ca fait presque une semaine de recherche, malgré que j'ai realiser une application pareil dans le temps et ca fonctionne,!!!!
 
le problème, tout simplement, c'est que je veux supprimer un user de la table gestionutilisateur deja listé dans un .jsp (cete operation de list fonctionne), en utilisant criteria.les codes sont ci dessous:
 
*****************************
code: administration.jsp
</tr>
<logic:iterate id="gestionutilisateur" name="GestionUtilisateurListForm" property="listUtilisateur"type="com.MaintenanceCERTE.dao.GestionUtilisateu">
<tr>
<td><bean:write name="gestionutilisateur" property="idgestionutilisateur" /></td>
<td><bean:write name="gestionutilisateur" property="nomprenom" /></td>
<td><bean:write name="gestionutilisateur" property="grade" /></td>
<td><bean:write name="gestionutilisateur" property="laboratoire" /></td>
<td><bean:write name="gestionutilisateur" property="telephone" /></td>
<td><bean:write name="gestionutilisateur" property="email" /></td>
<td><ahref="GestionUtilisateurSupprimer.do?operation=delete&id=<%=gestionutilisateur.getIdgestionutilisateur() %>">Supprimer</a></td>
</tr>
</logic:iterate>
***************************
code beans GestionUtilisateur.java
 
public class GestionUtilisateur {
 
private Long idgestionutilisateur; // dans les classes action et //form j'ai utiliser un int
private String nomprenom;
private String grade;
private String laboratoire;
private String telephone;
private String email;
public GestionUtilisateur(Long idgestionutilisateur, String nomprenom,String grade,String laboratoire,String telephone,String email)
{
this.setIdgestionutilisateur(idgestionutilisateur);
this.nomprenom=nomprenom;
this.grade=grade;
this.laboratoire=laboratoire;
this.telephone=telephone;
this.email=email;
................. les getters et les setters .....................}
 
***************************
 
code GestionUtilisateurAction:
……
public ActionForward execute………….{
 
GestionUtilisateurSupprimerForm gestion= (GestionUtilisateurSupprimerForm) form;
int id= gestion.getIdgestionutilisateur();
String operation= request.getParameter("operation" );
if("delete".equals(operation))
{ SimulateDataBase simulateDB = new SimulateDataBase();
simulateDB.supprimer(id);
}
return mapping.findForward("supprimerUser" );
}}
*******************************
 
code GestionUtilisateur.hbm.xml:
 
<hibernate-mapping>
<class name="A.B.C.GestionUtilisateur" table="gestionutilisateur">
<id name="idgestionutilisateur" type="java.lang.Long" column="idgestionutilisateur"> <generator class="assigned" /></id>
 
<property name="nomprenom" type="java.lang.String" column="nomprenom" />
<property name="grade" type="java.lang.String" column="grade"/>
<property name="laboratoire" type="java.lang.String" column="laboratoire" />
<property name="telephone" type="java.lang.String" column="telephone"/>
<property name="email" type="java.lang.String" column="email" />
</class>
</hibernate-mapping>
-----------------------------------------------
code Dao, fonction supprimer de classe SimulateDataBase:
public void supprimer(int idgestionutilisateur)
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session= sessionFactory.openSession();
Transaction transaction=null;
transaction=(Transaction) session.beginTransaction();
try
{
Criteria crit=session.createCriteria(GestionUtilisateur.class);
GestionUtilisateur gestionutilisateur= (GestionUtilisateur) session.get(GestionUtilisateur.class,Long.valueOf(idgestionutilisateur));
session.delete(gestionutilisateur);
transaction.commit();
}
catch (HibernateException e){
transaction.rollback();
e.printStackTrace();
} finally{
session.close();
 
}}
**********************
ERREUUUUUUUUUUUUUUUUUUR qui me bloque, c'est que la suppression se fait seulement pour un objet ayant un id=0 alors que les autres ne suppriment pas ??????
 
java.lang.IllegalArgumentException: attempt to create delete event with null entity
at org.hibernate.event.DeleteEvent.<init>(DeleteEvent.java:24)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:739)
atA.B.C.SimulateDataBase.supprimer(SimulateDataBase.java:194)
atA.B.action.GestionUtilisateurSupprimerAction.execute(GestionUtilisateurSupprimerAction.java:31)
************************
 
SVP les amis vos aides, merci d'avance
cordialement

mood
Publicité
Posté le 06-01-2012 à 09:14:05  profilanswer
 

n°2119863
brisssou
8-/
Posté le 06-01-2012 à 10:08:56  profilanswer
 

t'es sûr de récupérer ton gestionutilisateur avec (GestionUtilisateur) session.get(GestionUtilisateur.class,Long.valueOf(idgestionutilisateur));  ?
 
j'ai comme un doute.
 
essaie d'ajouter du log et regarde si tu as vraiment ton objet


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°2119876
sdi9
Posté le 06-01-2012 à 10:54:11  profilanswer
 

bj brissou  
merci pour la réponse, gestionutilisateur est l'instance de GestionUtilisateur lie a la table gestionutilisateur de  la base, le problème c'est que ce paramètre gestionutilisateur passer a session.delete() est null (suite a un log)!!!!, sais pas pourquoi,  même le paramètre idgestionutilisateur de la methode supprimer(int idgestionutilisateur), suite a un test, ne se récupère pas ce qui est demandé par administration.jsp, il est toujours a zero, !!
 
donc si un objet ayant id=0 existe dans la base alors il va être supprime méme n'est pas demandé, c'est a dire si je clique sur supprimer lie a un objet ayant id=2 celui ayant id=0 se supprime !!! (voir administration.jsp),  si non , l'erreur ci dessus apparait !!!!!!!!


Message édité par sdi9 le 06-01-2012 à 11:11:23

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

  impossible de supprimer un objet avec hibernate3+struts

 

Sujets relatifs
Impossible de lancer SQL Server AgentSupprimer une ligne dans un ficher CSV en PHP
impossible d'installer java EEClé composite dans une map sans créer un nouvel objet pour cette cle
[PERL] Supprimer valeure d'un tableau contenant des hashMacro excel supprimer une ligne sous conditions
Comment supprimer une boite de dialogue à l'ouverture d'un fichier?commnt supprimer les Temporary Internet Files
Ou trouver des tuto Struts de connection aux BDDsupprimer dossier si ce dernier n'est pas une jonction
Plus de sujets relatifs à : impossible de supprimer un objet avec hibernate3+struts


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