IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

NamedQuery of name: Employe.getEmployeByLogin not found


Sujet :

JPA Java

  1. #1
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut NamedQuery of name: Employe.getEmployeByLogin not found
    Bonjour,

    Je viens de passer mon aplication web sous maven et en ai profité pour séparer la partie services de la partie affichage.
    Tout fonctionnait très bien mais depuis ce passage, j'ai l'erreur suivante lorsque je fais appel un namedQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.IllegalArgumentException: NamedQuery of name: Employe.getEmployeByLogin not found.
    Voici la méthode qui fait l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try {
    			TypedQuery<Employe> query = m_em.createNamedQuery("Employe.getEmployeByLogin", Employe.class);
    			query.setParameter("login", value);
     
    			return query.getSingleResult();
    		} catch (NoResultException e) {
    			System.out.println(e);
    			return null;
    		} catch (Throwable e) {
    			throw new RWBEjbException(e);
    		}
    Et la namedQuery en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @NamedQuery(
            name="Employe.getEmployeByLogin",
            query="SELECT employe FROM Employe employe WHERE employe.login = :login")
    Je rappelle que tout fonctionnait bien avant la migration sous maven ....

    Qqun sait-il de quoi ça vient ?
    merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Est-ce que le code, la déclaration de la namedQuery et / ou le persistence.xml seraient maintenant dans des jars séparés? Les specs JPA précisent bien que le scope d'un EntityManager est limité à la librairie où le persistence.xml est déclaré. Il ne scanne pas les annotations dans les jars annexes. Sauf si tu lui dit explicitement de le faire. Par exemple en ajoutant une entrée <jar-file>../otherlib.jar</jar-file> dans le META-INF/persistence.xml du jar contenant ton persistence.

  3. #3
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    C'est tout à fait ça !
    En déplaçant le fichier persistence dans le projet des services tout fonctionne bien.

    Par contre, j'ai maintenant un problème avec les converter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @FacesConverter(value = "MandatConverter")
    public class MandatConverter extends BeanConverter {
    .....
    }
    Ce converter se trouve dans le projet services mais j'en fait appel dans mes fichiers xhtml qui se trouvent dans le projet web.
    La bonne pratique serait de les déplacer dans le projet web ? Ou d'y accéder d'une autre manière ?

    Merci pour ton aide

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu dois mettre un META-INF/faces-config.xml dans ton jar pour indiquer à JSF qu'il fait partie de JSF. Sinon il n'est pas scanné. Le xml peut ne contenir que la balise racine JSF.

  5. #5
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Parfait, merci beaucoup pour ton aide

  6. #6
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    En fait j'ai quand même un soucis....

    J'ai mis le fichier faces-config dans les 2 projets.

    Dans le projet web il contient la config normale, navigation case....
    Dans le projet services, il contient juste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version='1.0' encoding='UTF-8'?>
     
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
     
    <faces-config version="2.0"
                  xmlns="http://java.sun.com/xml/ns/javaee" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
    </faces-config>
    Nom : faces.png
Affichages : 591
Taille : 29,0 Ko

    Mais j'ai toujours l'erreur de Converter.
    J'ai essayé un peu toute sorte d'endroit pour le mettre mais sans succès.

    Tu peux juste me dire ou le mettre exactement stp ?

  7. #7
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Ah si ça fonctionne tout bien avec cette config là.
    Probablement un problème de re-compilation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/03/2015, 12h59
  2. The type or namespace name not found
    Par isarian dans le forum C#
    Réponses: 12
    Dernier message: 19/03/2008, 14h24
  3. Réponses: 2
    Dernier message: 21/02/2007, 23h31
  4. Data source name not found
    Par cjacquel dans le forum Access
    Réponses: 1
    Dernier message: 13/02/2007, 18h53
  5. TXMLModule.create - name = resource not found
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 04/03/2003, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo