i tried the following 2 queries, and they worked, EJB3Unit was able to return results:
@NamedQuery(name = "findTest", query = "select c from Client c JOIN c.names n")
@NamedQuery(name = "findTest", query = "select c from Client c JOIN c.names n where lower(n.firstName) like '%r%' and lower(n.lastName) like '%p%'")
But when I tried the following, EJB3Unit returned me an empty list:
@NamedQuery(name = "findTest", query = "select c from Client c JOIN c.names n where lower(n.firstName) like :firstName and lower(n.lastName) like :lastName")
:firstName was passed via "query.setParameter("firtName", "%" + firstName.toLowerCase() + "%")", and so was :lastName.
so, somehow the parameters cause some strange problems.