I have a JPQL query like this:
@NamedQuery(
        name = "UserAccount.searchEmail",
        query = "SELECT u FROM UserAccount u WHERE u.email LIKE :searchText")
I then set the searchText parameter with this code:
    public List<UserAccount> search(String namedQuery, String searchText) {
    Query query = getEntityManager().createNamedQuery(namedQuery);
    query.setParameter("searchText", "%" + searchText + "%");
    try
    {
        return query.getResultList();
    }
    catch(Exception e)
    {
        logger.log(Level.SEVERE, "Error when searching UserAccount",e);
    }
    return null;
}
As noted in my JPQL NamedQuery, UserAccount has a field called email. When I run this code with the serachText as "whatever", it doesn't return anything. However, when I run the corresponding MySql SQL statement of:
select * from user_account where email like '%whatever%'; 
It works as expected. Any ideas what may be wrong with either my JPQL statement of my Java code?