Pessoal, estou desenvolvendo uma aplicação Struts 2 + Hibernate.
Optei por Hibernate pois temos DB Oracle e MySQL. Entretanto as bases contém diversas stored procedures, e pelo que vi, o suporte a stored procedures do Hibernate é bem complicado, além do mais, teríamos que mexer em todas as SP’s para poder colocar no padrão dele, e vocês devem imaginar o que é mexer em código crítico que já está redondo a anos.
A única maneira que encontrei foi fazer uma chamada diretamente via JDBC à SP, implementando o código para cada SP E DB.
O ruim da coisa toda:
Pra cada SP eu tenho que desenvolver cógido que sai do padrão do sistema
Eu tenho que ter uma implementação para cada DB, de cada uma das SP’s
O Hibernate tem um pool do C3P0, ainda nem sei se consigo obter uma conexão do mesmo pool, ou seja, talvez tenha que re-implementar a parte do pool
Tá com a maior cara de gambiarra
Em resumo, alguem já trabalhou com Hibernate + SP? Ou ao menos achou um “workaround” decente pra invocar as SP’s de Oracle e MySQL?
[quote=Trevisani]
Em resumo, alguem já trabalhou com Hibernate + SP? Ou ao menos achou um “workaround” decente pra invocar as SP’s de Oracle e MySQL?
Abraço!
André Trevisani[/quote]
Estude a possibilidade de utilizar o iBATIS na camada de persistência de seu projeto. Este framework de persistência é muito bom e flexivel…trabalha muito bem com SPs.
Eu tava olhando ele, e realmente ele tem um suporte muito melhor a SP, mas não encontrei se ele tem suporte a mapeamento por annotations, pois a idéia e construir em Hibernate com annotations JPA, para futuramente ser fácil migrar para EJB quando e se precisarmos.
[quote=Trevisani]Eu tava olhando ele, e realmente ele tem um suporte muito melhor a SP, mas não encontrei se ele tem suporte a mapeamento por annotations, pois a idéia e construir em Hibernate com annotations JPA, para futuramente ser fácil migrar para EJB quando e se precisarmos.
Sabes me dizer se ele tem esse suporte?[/quote]
Trevisani,
O iBATIS é uma alternativa ao JPA, a versão 3 do iBATIS tem suporte a mapeamento por annotations (eu prefiro mapear tudo em XML) mas utilizando annotatios próprias nada de JPA.