Bonjour,
Désolée de vous déranger mais je cherche à supprimer des éléments d'une table en fonction d'un critère passé en paramètre.

J'ai 3 tables "compteur", "perssemainecompt", et "semaine".
Dans la tables perssemainecompt, j'ai un attribut "idCompteur" et un attribut "idSemaine" (ces 2 attributs sont des clés étrangères qui sont les clés primaires des tables "semaine" et "compteur")
En sql, j'obtiens le résultat que je veux grace à cette requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
delete compteur from compteur,  perssemainecompt where compteur.idCompteur = perssemainecompt.idCompteur and perssemainecompt.idSemaine = 564
En HQL, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void removeCompteurByIdSemaine(Integer IdSemaine) {
		String queryString = "delete compteur from Compteur as compteur, Perssemainecompt as  perssemainecompt where "
				+" compteur.idCompteur = perssemainecompt.compteur.idCompteur and perssemainecompt.semaine.idSemaine = :oldSemaineId";
		this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(queryString).setInteger("oldSemaineId", IdSemaine).executeUpdate();
		System.out.println("suppression Compteur ! ! ");
 
	}
Et j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
unexpected token: from near line 1, column 17 [delete compteur from com.maison.enfant.gestion.horaire.entitybeans.Compteur as compteur, com.maison.enfant.gestion.horaire.entitybeans.Perssemainecompt as perssemainecompt where compteur.idCompteur = perssemainecompt.compteur.idCompteur and perssemainecompt.semaine.idSemaine = :oldSemaineId]
Et je ne vois pas pourquoi ... u_u

Merci de votre aide