1 pièce(s) jointe(s)
Problème du count dans une relation ManyToMany
Bonjour tout le monde, voilà mon problème est le suivant: j'ai 3 entities, Utilisateur, Rubrique et Service en relation comme ce qui est montré dans l'illustration suivante
http://www.developpez.net/forums/att...1&d=1273488699
Un utilisateur est souscrit à une ou plusieurs rubriques, un service appartient à une ou plusieurs rubrique.
Pour avoir les compte des utilisateur souscrits dans les rubriques auxquelles appartient un service je vais comme ça en HQL :
Citation:
"SELECT count(S.lstRubrique.lstUtilisateur.idUser) FROM %s S WHERE S.lstRubrique.idRubrique= '%s'",ServiceEntity.class.getName(),idService)
Mais ça ne marche pas , ça me donne l'erreur suivante :
Citation:
1:56:52,828 ERROR PARSER:33 - illegal syntax near collection: lstUtilisateur
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: idUser of: com.anthil.mobipouce.entity.RubriqueEntity [SELECT count(S.lstRubrique.lstUtilisateur.idUser) FROM com.anthil.mobipouce.entity.ServiceEntity S WHERE S.lstRubrique.idRubrique= '1']
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:624)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:180)
at $Proxy17.createQuery(Unknown Source)
at com.anthil.mobipouce.dao.impl.DaoService.getUserInServiceCount(DaoService.java:198)
at com.anthil.mobipouce.service.impl.ServiceService.getUSerInServiceCount(ServiceService.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)....
Avez vous un idée s'il vous plait sur comment je peux faire pour avoir ce compte. Merci