2017-10-13 4 views
0

J'ai une requête en veille prolongée pour obtenir la liste des éléments ci-dessous:Hibernate méthode lancer « java.lang.IllegalArgumentException »

public List<ToDo> getItemsWithStatus(String status) { 
    TypedQuery<ToDo> query = em.createQuery(
      "SELECT u FROM TODO u WHERE u.status LIKE :status ORDER BY u.id", ToDo.class); 
    return query.getResultList(); 
} 

Mais lors de l'exécution de la méthode, je reçois cette exception:

org.hibernate.hql.internal.ast.QuerySyntaxException: TODO est pas mappée [SELECT u DE TODO u OÙ u.status LIKE: état ORDER BY u.id]

Merci Jithesh

Répondre

4

Votre classe d'entité est nommée ToDo, mais dans votre fichier JPQL vous utilisez TODO (remarquez la différence dans les cas).

+0

J'ai mis à jour le fichier JPQL et créé avec succès l'objet de requête. Mais lors de l'exécution de la requête en obtenant l'exception ci-dessous org.hibernate.QueryException: Tous les paramètres nommés n'ont pas été définis: [status] [SÉLECTIONNEZ-MOI WHERE u.status LIKE: status ORDER BY u.id] –

+0

https://stackoverflow.com/questions/5983321/how-to-specify-a-jpa-named-parameter-surrounded-by-wildcards –

+0

Merci Rafak ... –