Estou desenvolvendo uma aplicação que disponível para multíplos banco de dados. Há princípio serão utilizados os seguintes: PostGre, MS-SQL e Oracle, sendo informado através de um arquivo xml qual deles será utilizado.
A dúvida é a seguinte: Qual tecnologia posso utilizar para evitar a escrita de queries para cada DB?
Pode tentar JDO. Mas se você acha Hibernate chato, talvez você também vá achar o mesmo de JDO. Costumava mexer bastante com JDO, que achava muito pedante, até conhecer o Hibernate.
Acredito que o melhor seria utilizar um framework já maduro como o Hibernate ( o cara é bom )… Agora, se vc acha q ele é muito para o seu sistema (afinal de contas ele contempla quase todas (ou todas???) as possibilidades de um SQL ANSI), vc pode fazer um esquema de objetos que passam por um tradutor, assim vc só precisa implementar os tradutores para cada banco. Bem feito, fica legal… E vc poderá implementar suas necessidades de maneira simples.
Mas ainda assim concordo com o Daniel – Use hibernate, use hibernate…
hehehe
Acabei de baixar o arquivo para começar a estudar e utilizar o Hibernate.
Agora uma outra dúvida, com o Hibernate, é possível utilizar o pool de conexões? Atualmente estou realizando alguns testes com o DBCP da Jakarta.
Sim, você pode usar o pool de conexão sem problemas, mapear na sua aplicação no properties do Hibernate. consulte a documentação do Hibernate existe exemplo de mapeamento de pool de conexão.
Exemplo utilizando C3PO:
C3P0 is an open source JDBC connection pool distributed along with Hibernate in the lib directory. Hibernate will use its C3P0ConnectionProvider for connection pooling if you set hibernate.c3p0.* properties. If you’d like to use Proxool refer to the packaged hibernate.properties and the Hibernate web site for more information.