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 :

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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