Je souhaiterais faire une requête EJBQL sur plusieurs tables mais je ne sais pas comment faire ...

Voici mes EJB:
USER :
-long code (key)
-String libelle

CATALOG :
-long code (key)
-String libelle

USERCATALOG : (catalogues autorisés)
-int odreAffichage
-USER (key)
-CATALOG (key)
j'ai créé 2 relations entre USER et USERCATALOG (1-1) ainsi qu'entre USERCATALOG et CATALOG (1-1). J'aurais souhaiter faire une seule relation entre USER ET CATALOG de type MANY-MANY mais avec Websphere, on ne peut pas rajouter d'attribut à une relation. C'est pourquoi j'ai créé une table supplémentaire ainsi que 2 relations pour joindre les 3 tables.

la requête que je souhaiterais faire:
R1: récupérer tous les catalogues autorisés pour un utilisateur donné en récupérant le libéllé du catalogue.

je fais cette requête là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select object(c) from Catalogue c, IN (c.usercatalog) AS ca where ca.code = ?1
mais elle ne marche pas. Websphere me donne l'erreur suivante lorsque je génère le code de déploiement et le code RMIC:
Erreur lors de la génération de la requête findAllByUtilisateur(long) pour le bean Catalogue(nom du schéma Abstract=Catalogue). Erreur=WQRY0017E:Cannot define correlation id ca over a single-valued path expression catalogueautorise
WQRY0110E: correlation id ca is not defined.

Requête='select object(c) from Catalogue c, IN (c.usercatalog) AS ca where ca.code = ?1'