- Transação
Ao utilizar a classe br.com.jbc.controller.Controller, alguns dos métodos como o insert, update e delete, utilizam o controle de transação. Ao ser invocado um desses métodos, a interface org.hibernate.Session verifica se existe uma conexão ativa com o banco de dados, caso confirmado é iniciado uma transação. Efetuada a operação com sucesso, ela é confirmada através de um commit no banco de dados, caso contrário ela é desfeita através de um rollback.
Vale ressaltar que o objetivo deste não é entra em detalhes sobre Banco de Dados, controle de transação, muito menos sobre Hibernate, então concluímos que o leitor tenha estes conhecimentos. - Consultas Hibernate com Criteria e Restrinctions
As consultas no banco de dados realizadas pelo JBC, grande parte delas são feitas utilizando a API do Hiberante org.hibernate.Criteria. Quando trabalhamos com consulta envolvendo objetos complexos, ou seja, objetos com um ou mais relacionamentos, onde esses objetos relacionados podem até ter outros objetos relacionados, e assim sucessivamente, precisamos informar para o org.hibernate.Criteria quais são esses relacionamentos que devem fazer parte da consulta. Esta implementação no JBC é feita com Reflecção, através da API java.lang.reflect, por isso é necessário que os atributos tenham o mesmo nome da classe declarada, sempre com a primeira letra em minúscula, como já apresentado no post anterior.
As restrições são adicionados ao org.hibernate.Criteria através da interface org.hibernate.criterion.Restrictions. - Busca Paginada.
A classe br.com.jbc.controller.Controller tem um método de busca paginada com a seguinte assinatura:
public SearchPaginate findPaginate(T filter, int firstResult, int maxResult, String sortField, boolean orderByType)
- filter: Objeto VO contendo os filtros de consulta populados em seus atributos. Este atributo é genérico, e será definido na instância da classe br.com.jbc.controller.Controller
- firstResult: Número da página que a consulta irá mostrar os resultados;
- maxResult: Número de registros por página;
- sortField: Nome do atributo da entidade que será ordenado, aqui será passado o nome do atributo em formato String;
- orderByType: Tipo de ordenação da Lista, os valores devem ser br.com.jbc.controller.Controller.ORDER_ASC ou br.com.jbc.controller.Controller.ORDER_DESC
O método retorna um objeto br.com.jbc.util.SearchPaginate, que contém a lista de registros paginada e a quantidade de registros total da consulta
Nenhum comentário:
Postar um comentário
Muito obrigado por contribuir com o JBC!