Olá desenvolvedores, neste tutorial iremos implementar com o Hibernate, uma Query que exibirá os resultados de uma dada busca. No entanto, dessa vez selecionando os dados que serão exibidos por meio de parâmetros.
Assim, na classe de teste “TesteHibernate” implementaremos o método testQueryListParamenter(), que fará a busca usando parâmetros. A assinatura do método segue o padrão estabelecido.
public void testeQueryListParameter(){
}
IMPLEMENTANDO O MÉTODO
No escopo do método instanciaremos o “DaoGeneric”. Que é a classe DAO – Data Access Object, padrão para “gerenciar” toda a lógica de persistência de dados de uma aplicação. E por meio do qual obteremos o Entity Manager.
O Entity Manager é uma API configurada para ler e escrever em uma base de dados, cujas operações são encapsuladas em interfaces EntityManager do tipo EntityManagerFactory.
O método deverá retornar uma lista vinda da entidade “UsuarioPessoa”, que recebe o DaoGeneric, que por sua vez traz o Entity Manager. Desse modo, para carregar a lista o createQuery enviará uma instrução SQL – Standard Query Language direto para o banco de dados.
O procedimento de enviar uma instrução SQL diretamente para o banco de dados é especialmente útil quando se deseja utilizar recursos específicos do banco de dados.
Para que a lista possa carregar de forma completa os objetos persistidos utilizaremos a cláusula “FROM”. Na sequência, será selecionado na Entidade “UsuarioPessoa” todo registro que tiver o nome igual ao “setado” por parâmetro.
O parâmetro é “setado” e a interface ResultList() que “agrupará” os dados coletados será chamada.
Para percorrer a lista de dados, ainda dentro do escopo do método implementaremos uma “for each”. Os dados serão exibidos no console por meio da saída padrão System.out, cujo método println é especificamente utilizado para gerar Strings.
TESTANDO O MÉTODO
Para “rodar” o teste selecione o nome do método que deseja executar, clique com o botão direito do mouse sobre ele >> Rum As >> JUnit test. Se após a execução do método, nenhum erro foi apresentado no console, basta então conferir na base de dados se o registro foi de fato excluído.
EM POUCAS PALAVRAS
Você pode testar várias possibilidades, como por exemplo, ao trazer o registro de nome “Paulo”, limitar a quantidade de registros com idêntico nome que serão exibidos. Ou ainda, determinar que retorne da base de dados registros que tenham ou nome “Y” ou o sobrenome “X”, usando para realizar este tipo de busca a cláusula “or”.