java.lang.IllegalArgumentException: requête Nommée non trouvé:

J'ai eu le code suivant

@Stateless
public class BondecomandeDAO {

    @PersistenceContext
    private EntityManager em;

    public Bondecommande findBCbyid(int id)
    {
         Query q =em.createNamedQuery("select bc from Bondecommande bc where bc.idbc = :idbc");
         q.setParameter("idbc", id);
         return  (Bondecommande) q.getResultList().get(0);
     }
}

et

@Entity
@Table(name="bondecommande")
public class Bondecommande  implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="idbc")
    private int idbc;
    @Column(name="devise")
    private String devise;
    @Column(name="modepaiement")
    private String modepaiement;
    @Column(name="modelivraison")
    private String modelivraison;
    @Column(name="delaipaiement")
    private int delaipaiement;

      ////other attributes , getters and setters 
}

Lorsque j'essaie d'exécuter la fonction findBCbyid(int id), j'obtiens cette erreur

java.lang.IllegalArgumentException: requête Nommée non trouvé: sélectionnez bc à partir de Bondecommande colombie-britannique, où la colombie-britannique.idbc = :idbc

Bien que j'ai utilisé cette requête nommée dans un autre projet, et cela a fonctionné, ce qui pourrait être le problème?

OriginalL'auteur Bellil Med Samouel | 2013-12-10