Gostaria de saber se é de uso obrigatório o uso de Hibernate? Eu não posso utilizar JDBC puro não? Quais os prós e contras? Pelo que eu percebi, a única diferença é que hibernate abstrai o SQL e escreve menos código. Já o JDBC eu achei mais controlável e mais rápido para uso em sistemas Desktop. Qual a opinião de vocês sobre isso? Eu estou para desenvolver um sistema pequeno de Livro Caixa. Como venho do sub-mundo procedural (Delphi, VB6 e outros) gostaria de uma orientação. Grato!
Acho que responde sua pergunta …
O Hibernate é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados
tabulares de um banco de dados em um grafo de objetos definido pelo desenvolvedor. Usando o
Hibernate, o desenvolvedor se livra de escrever muito do código de acesso a banco de dados e de SQL
que ele escreveria não usando a ferramenta, acelerando a velocidade do seu desenvolvimento de uma
forma fantástica.
Mas o framework não é uma boa opção para todos os tipos de aplicação. Sistemas que fazem uso
extensivo de stored procedures, triggers ou que implementam a maior parte da lógica da aplicação no
banco de dados, contando com um modelo de objetos ?pobre? não vai se beneficiar com o uso do
Hibernate. Ele é mais indicado para sistemas que contam com um modelo rico, onde a maior parte da
lógica de negócios fica na própria aplicação Java, dependendo pouco de funções específicas do banco de
dados.
Mas isto não impede você de querer utilizar JDBC …enfim , cada caso é um caso, e claro se você vai fazer um sistema do zero o ideal é se preocupar com o modelo de dominio, classes bem estruturadas , enfim , se você planejar isto direitinho , tenho certeza que você naturalmente escolha o hibernate… mas é mera opinião pessoal …e como eu disse e volto a repetir cada caso é um caso …
Achei uma certa dificuldade em utilizar Hibernate com JasperReport. Com JDBC foi mais fácil.
Não existe obrigatoriedade em nada. A melhor tecnologia é a que atende a necessidade do projeto, sem impactar em fatores como produtividade e custo.
Quanto a dificuldade com o uso de hibernate com ireport é que você, provavelmente, tenha o costume de colocar a consulta sob responsabilidade do relatório. Caso faça isso na aplicação, essa dificuldade desaparece por completo.
Eu uso o hibernate na aplicação, porém nos relatórios, eu uso o jdbc direto…