Overview sobre o Hibernate

PERSISTÊNCIA RELACIONAL para Java e .NET

O que é Hibernate: Hibernate é uma poderosa solução open source de mapeamento objeto/relacional (ORM), feito puramente em Java e licenciado pela LGPL (Lesser GNU Public Licence). A licença open source LGPL permite o uso do Hibernate e NHibernate em projetos comerciais e como open source.

O que é ORM: O termo mapeamento objeto/relacional (ORM) se refere à técnica de mapear uma representação de dados de um modelo de objetos para um modelo de dados relacional. Os mapeamentos objeto/relacional podem ser feitos através de arquivos XML, ou através de anotações feitas diretamente nas classes (beans) que representam as tabelas do banco. O hibernate tem uma rica variedade de mapeamentos para coleções e objetos dependentes que resolve o problema de granulosidade fina. Ele permite a você desenvolver classes persistentes seguindo o idioma objeto orientado ? incluindo associações, heranças, polimorfismos, composições e coleções.

Flexibilidade e alta performance: O Hibernate se adapta ao seu processo de desenvolvimento, sendo possível aplica-lo em um projeto novo, ou em um projeto com bancos de dados já existente. A versão 3.0 do hibernate tem um papel crítico no padrão EJB 3.0 (Enterprise Java Bean) Java Persistence API, e traz uma importante simplicidade ao modelo de persistência deste padrão. Também é um componente crítico de um grupo de produtos da JBoss Enterprise Middleware System (JEMS).

Hibernate Query Language (HQL): O hibernate, não apenas cuida dos mapeamentos de classes Java para tabelas da base de dados, mas também fornece uma poderosa linguagem query (HQL) que é familiar com a sintaxe SQL. As queries também podem ser expressas no SQL nativo da sua base de dados e é possível a criação de queries programáticas através da API Criteria. O HQL cria uma portabilidade de banco incrível e aumenta a produtividade eliminando muito tempo de codificação.

O que são os dialetos: Através do acesso aos dialetos o HQL constrói automaticamente as queries referentes à sua base de dados, bastando apontar o dialeto cadastrado através de um arquivo de configuração xml, ou aponta-lo programaticamente dentro de uma classe de configuração. Caso o dialeto de sua base de dados não tenha sido criado ainda, é possível construí-lo através de uma ?fábrica de dialetos?.

Hibernate-tools: O hibernate-tools é uma ferramenta que integra o hibernate em algumas IDE?s como Eclipse NetBeans e apache Ant, facilitando a geração de mapeamentos e classes, através de engenharia reversa e outros métodos.