Hibernate - Motivos

Qual são as principais motivo para uso do Hibernate para a camada Model de um aplicativo ???

Independencia de Banco de Dados ???

Independência de Banco, extinção de SQL dentro do seu código Java, desenvolver orientado a objeto, na hora de modelar não pensar em tabelas e sim em objetos e como eles colaboram entre si, etc,etc,etc.

Ps:Porém é necessário bom senso pra saber quando e onde usar.

pense pelo seguinte… vc precisa trabalhar com dados no modelo OO, bem… até pode trabalhar pensando em relacional, mas po… fala sério né… e, quais as tecnologias q conseguem te abstrair ao maximo esse modelo relacional? vão ser citadas várias… mas o mais usado acredito ser o hibernate…

Na minha humilde opnião, independencia de banco de dados é a ultima coisa pensanda na utilização de hibernate… Tá bom, uma das ultimas, mas é q muito dificil vc precisar mudar de banco de dados. O q leva em conta o uso do Hibernate é a sua facilidade… ainda mais se vc usar XDoclet para gerar mapeamento e scripts de geração de banco através de POJOs (Classes java normais)… é impressionante a produtividade… e na hora de buscar as informações (ou adiciona-la) o Hibernate dá um show! Vc pode usar HQL (“sql” orientado a objetos do hibernate) ou usar a API Criteria q eh fantástica!

oq o dark mencionou de independencia de banco faz muito sentido, isso até é muito comentado e tal, mas na prática mesmo, cara… raramente se troca de base num projeto…

O Hibernate não implementa cafmada Model. O Hibernate é uma ferramenta à seu usada na Camada de Persistência de um aplicativo.

Mapeamento Objeto-Relacional, esse é o grande objetivo do Hibernate.