Requête multi table paramétrée en JPQL
Bonjour,
Étant nouveau avec JPQL, j'ai un peu de mal à faire les choses les plus basiques. Actuellement j'ai deux entités Livre et Categorie. A l'exécution, Glassfish me renvoie une erreur 500 :
Citation:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.ejb.EJBException
Voici la méthode qui pose problème :
Code:
1 2 3 4 5 6 7
| public int getNbBookByCat(String categorie) {
Query q = em.createQuery("SELECT l FROM Livre l JOIN l.Categorie c WHERE c.nomCat = ?1");
q.setParameter(1, categorie);
List<Livre> results = (List<Livre>) q.getResultList();
return results.size();
} |
Le but est donc de retourner le nombre de livres en fonction d'une catégorie. Une simple requête Select pour afficher tous les livres fonctionne sans problème. Je pense que le problème vient de la jointure : selon les logs de Glassfish il pense que Categorie est un champ de Livre...
Merci