Olá desenvolvedores, com o framework Hibernate nós já aprendemos a salvar, consultar atualizar e deletar dados, agora é hora de aprendermos a trazer todos os dados e exibi-los em uma lista.
Como os dados consultados deverão ser exibidos em uma lista a assinatura do método listar() contempla a declaração de uma lista. Como parâmetro o método recebe a entidade que será consultada.
O escopo do método receberá a transação (transaction) instanciada. O transaction é o método que instancia uma interface responsável pelo gerenciamento de transações das entidades.
EntityTransaction transaction = entityManager.getTransaction();
E tal como aconteceu como os demais métodos, para abrir o escopo de transação do EntityManager é preciso primeiro, iniciar a transação.
transaction.begin();
Criaremos então uma lista para retornar os dados onde o entityManager invocará o “createQuery” que enviará uma instrução SQL – Standard Query Language direto para o banco de dados. O Entity Manager é uma API configurada para ler e escrever em uma base 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. Assim para carregar de forma completa os objetos persistidos utilizaremos a cláusula “FROM”. A interface ResultList() “agrupará” os dados coletados e retornará a lista.
Para encerrar o processo enviamos um “commit”. O commit é o ato de enviar dados ou códigos para serem armazenados, neste caso, gravado em um banco de dados. Após o commit a lista é retornada.
transaction.commit();
return lista;
TESTANDO A APLICAÇÃO
No escopo do método testeConsultar(), depois de instanciar o DaoGeneric, será preciso instanciar uma lista que conterá os dados da entidade UsuarioPessoa.
E como se trata de uma lista será preciso também um “for each” para percorrer a lista de dados e listá-los.
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 for apresentado no console, basta então conferir na base de dados se o registro foi de fato excluído.
EM POUCAS PALAVRAS
E com esta implementação temos uma CRUD (Create-Read-Update-Delete) completo implementado de forma simples, prática e rápida com o Hibernate. Estas implementações poderão ser adaptadas em quaisquer projetos. Agora é a sua vez de praticar.