quarta-feira, 26 de setembro de 2012

O que o JBC faz


  1. 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.
  2. 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.
  3.  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)
    
        1. 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
        2. firstResult: Número da página que a consulta irá mostrar os resultados;
        3. maxResult: Número de registros por página;
        4. sortField: Nome do atributo da entidade que será ordenado, aqui será passado o nome do atributo em formato String;
        5. 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!