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 :

QuerySyntaxException: [table is not mapped]


Sujet :

JPA Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Points : 13
    Points
    13
    Par défaut QuerySyntaxException: [table is not mapped]
    Bonjour,

    dans le cadre de mes études je dois développer un petit applicatif utilisant JPA, HSQL.

    J'ai l'entité : Event
    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
     
     @Entity
    public class Event implements Serializable, EventItf {
     
    	private long id;	
    	private String title;
    	private String place;
    	private int date;
    	private int hour;
    	private List<Crew> crews;
     
    	public Event() {};
     
    	@GeneratedValue	
    	@Id	
    	public long getId() {
    		return id;
    	}
    	...
    	@OneToMany
    	public List<Crew> getCrews() {
    		return crews;
    	}
    	public void setCrews(List<Crew> crews) {
    		this.crews = crews;
    	}
    }
    Event possède une liste de crew.

    Dans ma base de données j'ai bien les tables event, event_crew (event_id, crews_id)

    Pourtant lorsque je lance la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @GET
    @Path("{id_event}/crews/")
    @Produces(MediaType.APPLICATION_JSON)
    public Collection<Crew> getCrewList(@PathParam("id_event") String eventId) {
    		EntityManager em = EntityManagerImpl.getEntityManager();
    		String str = "select c from event as e " +
    		             "join crews as c " +
    				     "where e.id = :idEvent" ;
    		Query query = em.createQuery(str);
    		query.setParameter("idEvent", eventId);
    		return query.getResultList();
    	}
    j'ai le message d'erreur suivant :
    org.hibernate.hql.internal.ast.QuerySyntaxException: event is not mapped [select c from event as e join crews as c where e.id = :idEvent]

    Je ne comprends pas pourquoi vu qu'il arrive bien à créer les tables.
    Merci pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    C'est du jpql ce que tu es entrain d'écrire et se ne n'est pas une requête native donc tu dois respecté la case sur le nom de tes objets, ce qui veux dire que ton objet c'est Event et ce n'est plus event.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String str = "select c from Event ...

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    ça marche !! merci beaucoup !

    voilà ce que cela donne une fois corrigé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            @GET
    	@Path("{id_event}/crews/")
    	@Produces(MediaType.APPLICATION_JSON)
    	public Collection<Crew> getCrewList(@PathParam("id_event") String eventId) {
    		Long id = Long.valueOf(eventId).longValue();
    		EntityManager em = EntityManagerImpl.getEntityManager();
    		String str = "select c from Event as e " +
    		             "join e.crews as c " +
    				     "where e.id = :idEvent" ;
    		Query query = em.createQuery(str);
    		query.setParameter("idEvent", id);
    		return query.getResultList();
    	}

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

Discussions similaires

  1. [Data] Erreur "Table is not mapped"
    Par Klemsy78 dans le forum Spring
    Réponses: 9
    Dernier message: 15/06/2011, 13h10
  2. QuerySyntaxException: [table is not mapped]
    Par liquideshark dans le forum Hibernate
    Réponses: 3
    Dernier message: 16/07/2008, 12h01
  3. hibernate problem (classe not mapped)
    Par oughlad dans le forum Hibernate
    Réponses: 11
    Dernier message: 25/06/2007, 19h57
  4. provider 0x80040E37 table does not exist
    Par steph04 dans le forum ASP
    Réponses: 8
    Dernier message: 29/04/2005, 10h56
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

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