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 :

requete query jpa


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut requete query jpa
    j'ai le model suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    package gdc.domain.model;
    // Generated 14 mai 2008 11:06:52 by Hibernate Tools 3.2.1.GA
     
     
    import javax.persistence.Column;
    import javax.persistence.Embeddable;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
     
    import org.hibernate.annotations.Cache;
    import org.hibernate.annotations.CacheConcurrencyStrategy;
     
    /**
     * MoisjoursId generated by hbm2java
     */
    @Embeddable
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    @NamedQueries( {
    	    @NamedQuery (name = "MoisjoursId.getMoisjoursId", query = "SELECT * FROM MoisjoursId")})
     
    public class MoisjoursId  implements java.io.Serializable {
     
     
         private int jour;
         private int mois;
     
        public MoisjoursId() {
        }
     
        public MoisjoursId(int jour, int mois) {
           this.jour = jour;
           this.mois = mois;
        }
     
     
        @Column(name="jour", nullable=false)
        public int getJour() {
            return this.jour;
        }
     
        public void setJour(int jour) {
            this.jour = jour;
        }
     
        @Column(name="mois", nullable=false)
        public int getMois() {
            return this.mois;
        }
     
        public void setMois(int mois) {
            this.mois = mois;
        }
     
     
       public boolean equals(Object other) {
             if ( (this == other ) ) return true;
    		 if ( (other == null ) ) return false;
    		 if ( !(other instanceof MoisjoursId) ) return false;
    		 MoisjoursId castOther = ( MoisjoursId ) other; 
     
    		 return (this.getJour()==castOther.getJour())
     && (this.getMois()==castOther.getMois());
       }
     
       public int hashCode() {
             int result = 17;
     
             result = 37 * result + this.getJour();
             result = 37 * result + this.getMois();
             return result;
       }   
     
     
    }
    ET:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    package gdc.domain.dao.jpa;
     
    import java.util.List;
     
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
     
    import org.springframework.stereotype.Repository;
     
     
    import gdc.domain.dao.MoisjoursIdDAO;
    import gdc.domain.model.Moisjours;
    import gdc.domain.model.MoisjoursId;
    @Repository
    public class MoisjoursDAOJpa implements MoisjoursIdDAO {
    	private EntityManager em;
     
        @PersistenceContext
        public void setEntityManager(EntityManager em) {
            this.em = em;
        }
    	@Override
    	public List<MoisjoursId> getMoisjoursId() {
    		System.out.println("###########################################################");
    		 Query query = em.createNamedQuery("MoisjoursId.getMoisjoursId");
    	        List<MoisjoursId> moisjours= query.getResultList();
    	        return moisjours;
    	}
     
    }
    il m'affiche l'erreur suivant lors de l'execustion de la methode getMoisjoursId:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    14 mai 2008 16:57:12 org.apache.catalina.core.AprLifecycleListener init
    INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_02\bin;C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin
    14 mai 2008 16:57:12 org.apache.coyote.http11.Http11Protocol init
    INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
    14 mai 2008 16:57:12 org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 484 ms
    14 mai 2008 16:57:12 org.apache.catalina.core.StandardService start
    INFO: Démarrage du service Catalina
    14 mai 2008 16:57:12 org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.7
    14 mai 2008 16:57:12 org.apache.catalina.core.StandardHost start
    INFO: XML validation disabled
    14 mai 2008 16:57:13 org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    0    [main] WARN  gdc.domain.configuration.DataSourceFactory  - Initializing database connection pool.
    16   [main] WARN  gdc.domain.configuration.DataSourceFactory  - No database configured in JNDI at "java:/comp/envjdbc/gdc"
    344  [main] WARN  gdc.domain.configuration.DataSourceFactory  - MySQL database found.
    14 mai 2008 16:57:17 org.apache.catalina.core.ApplicationContext log
    INFO: Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
    14 mai 2008 16:57:18 org.apache.coyote.http11.Http11Protocol start
    INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
    14 mai 2008 16:57:18 org.apache.jk.common.ChannelSocket init
    INFO: JK: ajp13 listening on /0.0.0.0:8009
    14 mai 2008 16:57:18 org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/15  config=null
    14 mai 2008 16:57:18 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 6094 ms
    14 mai 2008 16:57:24 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
    14 mai 2008 16:57:24 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: init: Global resources are available
    14 mai 2008 16:57:24 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
    ###########################################################
    11797 [http-8080-1] WARN  org.apache.struts.action.RequestProcessor  - Unhandled Exception thrown: class org.springframework.orm.jpa.JpaSystemException
    14 mai 2008 16:57:26 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet action a généré une exception
    org.hibernate.MappingException: Named query not known: MoisjoursId.getMoisjoursId
    	at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:70)
    	at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1260)
    	at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:103)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:340)
    	at $Proxy23.createNamedQuery(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:180)
    	at $Proxy21.createNamedQuery(Unknown Source)
    	at gdc.domain.dao.jpa.MoisjoursDAOJpa.getMoisjoursId(MoisjoursDAOJpa.java:26)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
    	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    	at $Proxy22.getMoisjoursId(Unknown Source)
    	at gdc.service.impl.MoisjoursIdManagerImpl.getMoisjoursId(MoisjoursIdManagerImpl.java:22)
    	at gdc.web.WelcomeAction.execute(WelcomeAction.java:28)
    	at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:131)
    	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:111)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
    	at java.lang.Thread.run(Thread.java:619)
    le nom du query n'est pas reconnait?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Jacobian Voir le message
    j'ai le model suivant:


    le nom du query n'est pas reconnait?
    je n'ai jamais vu un @NamedQuery à côté d'un @Embeddable alors la première question qui me vient à l'esprit (et donc sans garantie que cela soit cela le problème…) :

    serait-ce parce qu'il est attaché à une classe qui n'est pas @Entity … ?

    (dans la doc il est spécifié : "Query names are scoped to the persistence unit."
    est-ce que @Embeddable est suffisant pour faire le lien avec le persistence unit … ?)

  3. #3
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut

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

Discussions similaires

  1. [Débutant] pb d'appel à une valeur externe dans une requete query builder sous vs 2008
    Par rafamerci dans le forum Visual Studio
    Réponses: 1
    Dernier message: 24/02/2014, 19h43
  2. requete (Query) avec Like
    Par houleyh dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/12/2012, 06h45
  3. qui éxecute la requete Query.sql delphi ou le sgbd associé?
    Par adelneo dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/01/2011, 09h15
  4. requete nommé JPA probleme attribut
    Par cris83500 dans le forum JPA
    Réponses: 1
    Dernier message: 13/01/2010, 12h01
  5. Peut on empecher les requetes Query Close ?
    Par bigbernie dans le forum Windows XP
    Réponses: 0
    Dernier message: 13/01/2009, 10h21

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