Antes quando utilizava somente o Hibernate, fazia o seguinte:
Para pesquisar pelo nome:
[code]//cria a query da consulta
Query q = session.createQuery(“from Cargo c where c.nome like :nome”);
//seta o parametro da consulta
q.setParameter(“nome”, “%” + nome + “%”);
//joga o resultado da consulta dentro de uma lista
List cargos = q.list();
return cargos;[/code]
Só que agora comecei a utilizar o Spring com o Hibernate, já consegui fazer para salvar,editar e deletar, só não consegui ainda as pesquisas.Estou utilizando o HibernateTemplate e vi que tem vários métodos de pesquisa findByExample,findByNamedQuery,entre outros.Só que não entendi bem qual usar já testei vários mas não consegui ainda.
@SuppressWarnings("unchecked")
public List<PlanoConta> findByExample(String desc){
List<PlanoConta> findByExample = getHibernateTemplate().findByNamedQuery("from PlanoConta p where p.descricao like:desc");
return findByExample;
}
Estou testando assim ^ só que não sei como seto o parâmetro, ou se tem uma maneira melhor.
Explicar a situação: Tenho um formulario para pesquisar pode pesquisar por descrição e tipo (filtro na pesquisa), só que ele pode pesquisar só pelo tipo ou só pela descrição.Como faço isso?