Olá pessoal, estou fazendo um projeto simples com o Spring Roo, tudo ocorreu bem, mas os links que fazem busca por um determinado critério não estão executando a query com a clausula where, eles simplesmente listam.
Por exemplo ao clicar em findByNameLike no menu Client, a query executada não possui a clausula where, como segue
Hibernate: select client0_.id as id0_, client0_.email as email0_, client0_.name as name0_, client0_.phone as phone0_, client0_.version as version0_ from client client0_
Cade o WHERE client0_.name LIKE :name ??!!
Olhei o código gerado pelo ROO e parece tudo ok.
privileged aspect Client_Roo_Finder {
public static TypedQuery<Client> Client.findClientsByNameLike(String name) {
if (name == null || name.length() == 0) throw new IllegalArgumentException("The name argument is required");
name = name.replace('*', '%');
if (name.charAt(0) != '%') {
name = "%" + name;
}
if (name.charAt(name.length() - 1) != '%') {
name = name + "%";
}
EntityManager em = Client.entityManager();
TypedQuery<Client> q = em.createQuery("SELECT o FROM Client AS o WHERE LOWER(o.name) LIKE LOWER(:name)", Client.class);
q.setParameter("name", name);
return q;
}
}
O mesmo acontece para as demais entidades.
Alguém pode dar a dica do que pode ser ?
Valew