Meu projeto de estágio é um sistema de reservas que vai ter uns relacionamentos meio insanos. Então estou pensando em utilizar um framework de mapeamento objeto relacional. Vejo o pessoal falar sobre Hibernate e JPA, mas tenho algumas dúvidas:
1 - JPA é a especificação e Hibernate a implementação ou são coisas diferentes?
2 - Se forem diferentes qual o melhor/mais simples de se usar em um projeto web?
3 - Que livro me recomendariam de JPA/Hibernate?
4 - Com JPA/Hibernate eu não preciso criar as tabelas nem criar consultas SQL? Consegue mapear os objetos para um BD do jeito que eu modelar (lists, mapas complexos…)?
Meu projeto de estágio é um sistema de reservas que vai ter uns relacionamentos meio insanos. Então estou pensando em utilizar um framework de mapeamento objeto relacional. Vejo o pessoal falar sobre Hibernate e JPA, mas tenho algumas dúvidas:
1 - JPA é a especificação e Hibernate a implementação ou são coisas diferentes?
2 - Se forem diferentes qual o melhor/mais simples de se usar em um projeto web?
3 - Que livro me recomendariam de JPA/Hibernate?
4 - Com JPA/Hibernate eu não preciso criar as tabelas nem criar consultas SQL? Consegue mapear os objetos para um BD do jeito que eu modelar (lists, mapas complexos…)?
Se alguem puder me responder agradeço.
1 - Exatamente. JPA especificação, Hibernate implementação
2 - Existem vários testes por ai, varios apontam o Hibernate como melhor.
3 - Hibernate in Action
4 - Existe uma forma de configurar o Hibernate para criar as suas tabelas no statup da aplicação, procure por hbm2ddl. Mas sempre é bom vc dar uma customisada no banco depois, constumo dizer que atende a 90% das necessidades.
S
Silveira.Marcelo
Eu ainda completo a resposta de nosso colega kiko.
Se vc utilizaz EJB 3.0 em conjunto com o hibernate, vc poderá fazer consultas e outras querys utilizando EJBQJ através das anotations ganhanodo performance no desenvolvimento.
Vc tb pode consultar EJB in Action para lhe auxiliar no seu projeto
Um abraço
kikostyle
Silveira.Marcelo:
Eu ainda completo a resposta de nosso colega kiko.
Se vc utilizaz EJB 3.0 em conjunto com o hibernate, vc poderá fazer consultas e outras querys utilizando EJBQJ através das anotations ganhanodo performance no desenvolvimento.
Vc tb pode consultar EJB in Action para lhe auxiliar no seu projeto
Um abraço
Bem observado, mas vc quis dizer EJBQL? Que é o mesmo que HQL?
Além dessas formas de fazer consultas você também pode usar Criteria que é puramente chamada de métodos.