Estou migrando um sistema java para servidor, eu pensando em portar o JDBC para JPA, mas como tenho queries muito complexas, poucas vezes utilizarei queries em Objetos, praticamente, do JPA so me beneficiarei do controle transacional e de datasouces, e muite banco é claro, já que a aplicação vai rodar em oracle para empresa q exijam o mesmo e me postgre para as outras.
Será realmente vantagem o uso do JPA para projetos q tem queries complexas, e seria dificil trabalhar com os objetos, e ao inves disso vai trabalhar diretamente com arrays de tipos java (Integer, String …)?
Pela sua pergunta fica claro que vc já sabe que o único problema de se trabalhar com hibernate é quando se tem queries complexas.
Giulliano, você poderia expor os motivos desta sua afirmação?
Eu estou mais ou menos na mesma situação do Giovanni porem com menos conhecimento sobre o assunto!
Obrigado!
Giovani
Você pode usar JPA e nos casos extremos continuar utilizando SQL pra executar queries complexas.
O JPA não é a única alternativa. Sei também do iBatis, onde é possível colocar em XML todas as suas queries, por exemplo.
Se eu fosse você, gastava umas horinhas implementando uma pequena (mas muito pequena) parte do seu código em Hibernate e outra em iBatis pra ver o qual você se sente mais confortável.
Tem tbm a opção de usar JPA com outra ferramenta de ORM, sem ser o Hibernate.
Dá uma olhada tbm se o Top/Eclipselink não resolve o seu problema.
Ok, Vou Olhar este IBatis, mas tambem vou olhar a JDO, mas se alguem ja quiser me adianter que o JDO propõe, ajudaria bastante.
[quote=rdmegna]Giulliano, você poderia expor os motivos desta sua afirmação?
Eu estou mais ou menos na mesma situação do Giovanni porem com menos conhecimento sobre o assunto!
Obrigado![/quote]
Na experiência que obtive com hibernate eu posso dizer que ele é uma ferramenta poderosa quando vc parte do modelo classes pro banco de dados. O inverso já fica mais dificil trabalhar, partir de uma banco de dados para a modelagem das classes.
Ao começar a construção de um projeto o ideal hoje seria criar a camada DAO e a abaixo dela duas camadas uma com implementações do Hibernate e uma com JDBC.
[’]s