Vemos grande poder de armazenamento de dados que os bancos de dados relacionais oferecem para as empresas. Devido esse fato, a grande maioria não pensa (pelo menos ainda) em migrar para um banco de dados orientado a objetos. Isso se deve ao fato de ser um projeto ainda muito academico, pois só quem usa esses bancos de dados orientados a objetos são universitários.
Mas afinal de contas, porque existe esse tal de Hibernate e o que vem a ser esse kra?
Primeiramente vamos fazer a seguinte análise:
- As melhores linguagens de programação são orientadas a objeto (isso torna difícil a integração entre o banco de dados e a linguagem);
- Vamos supor que você programe, mesmo assim, com uma linguagem estrutural. Mas pense no quanto fica difícil trabalhar com o banco de dados a medida que a aplicação vai crescendo
Você pode se perguntar: "E agora, quem poderá me ajudar?"
Mas para te deixar mais preocupado ainda, vamos imaginar a seguinte situação: e se você já tem o privilégio de trabalhar com uma linguagem de programação OO. É comum misturarmos lógica de negócio com código SQL (isso não é nada agradável :S). Você pode achar isso totalmente normal e não pensa no quanto isso é prejudicial, mas pense: Se o banco de dados mudasse? Seria necessário mudar toda a aplicação.
Então, qual seria a solução?
Calma, os seus problemas (não todos, mas parcialmente
). O hibernate é uma framework ORM (Object-Relational Mapping) ou Mapeamento Objeto-Relacional para Java. Segundo a documentação oficial: "o Hibernate pretende retirar o desenvolvedor cerca de 95% das tarefas mais comuns de persistência de dados".
O Hibernate é apropriada para modelos OO e lógica de negócios implementados em uma camada uma camada de uma aplicação baseado em Java.
DESVANTAGEM: não é a solução mais adequada para aplicações que utilizam stored-procedures para implementar suas lógicas no banco de dados.
O Hibernate é a framework de persistência Java mais documentada e utilizada (acessem o site: Hibernate.org). É mantido pela JBoss sob a licença LGPL.
Algumas de suas características:
- Suporta classes desenvolvidas com agregações, herança, polimorfismo, composições e coleções;
- Permite a escrita de consultas tanto através de uma linguagem própria (HQL) como também através de SQL;
- É uma framework que não restringe a arquitetura da aplicação;
- Implementa a especificação Java Persistente API (JPA);
- Grande a ativa da comunidade
Quem deseja conhecer mais sobre o Hibernate, estarei postando mais conteúdo pela frente ou então visite o site Hibernate.org.
Copiado de - Programação, Análise de Sistemas e Gerência de Projetos
Adorei o post, visto que o Hibernate é muito utilizado em sistemas webs e no meio acadêmico, pouca gente conhece na prática. Acho que seria muito bom outros posts sobre esses assuntos(Struts, Hibernate, Ibatis, Ajax...), principalmente se forem voltados para quem está engatinhando na programação Java, principalmente se for voltada para o mundo web.
Muito legal, Lucimara.
Abraço !