[HIBER] Simular sequences Oracle em outro banco de dados. É possível?

[color=darkred]Boa tarde, pessoal!

Estamos querendo padronizar nosso processo de testes unitários e um dos problemas que estamos tendo é em relação ao Oracle e suas sequences e o hibernate. Nossos projetos são todos embasados no Oracle e nosso mapeamento hibernate, por consequência, é no dialeto desse banco.

No nosso novo processo de testes, queremos que o computador de cada desenvolvedor possa ter seu próprio banco de dados independente para usar para testes, mas sem a necessidade de ter o Oracle Express Edition instalado localmente.

Pensamos em usar outro banco, como mySQL ou Apache Derby, mas se pusermos outro banco que não utilize sequences, teremos que alterar o mapeamento do hibernate e, com isso, o teste deixa de ser 100% válido. Todavia, não conheço outro banco de dados que utilize sequences, para usarmos como alternativa ao Oracle XE.

Algum colega tem sugestões de como resolver esse dilema?

Muito obrigado,
Abraços,

Big Joe[/color]

O PostgreSQL também tem sequences, mas como de costume outras coisas são diferentes do Oracle. Portanto é melhor vocês usarem o Oracle Express Edition mesmo.

Uma forma de ficar fácil de vocês poderem voltar “para trás” em um teste (você sabe que durante o processo de desenvolvimento você acaba fazendo um monte de besteiras e perde um tempo imenso reinstalando e recarregando os dados - isso se vocês conseguirem) é, se puderem, usarem máquinas virtuais (em um servidor mais parrudo) que rode instâncias do Oracle Express ou o banco de sua preferência.

Vocês podem usar o VirtualBox (http://www.virtualbox.org ) ou o VMWare Server ( http://www.vmware.com ); se sua firma é uma Microsoft Solution Provider ou se o seu chefe é doente pela Microsoft*, vocês podem tentar o Virtual PC ou a solução de virtualização do Windows Server 2008.

Feitos os testes, vocês podem “voltar o ambiente para trás” recuperando uma máquina virtual.

  • Cada um com seus problemas :stuck_out_tongue:

Entendi.

A minha proposta, que eu havia usado com sucesso num projeto com o MySQL, anos atrás, era ter um script de criação do banco, outro de carga e um terceiro de drop. Quando nós queríamos fazer um teste no sistema, rodávamos o script de drop, seguido pelos de criação e de carga, dessa forma sempre tendo um banco limpo.

Uma outra proposta que temos é ter um schema do XE só para os testes, que eu acho que vai acabar predominando.

Obrigado, Thingol!

Qual é a capacidade das máquinas de desenvolvimento?
Onde eu trabalhava anteriormente, também eramos só Oracle, mas todos tinham uma instalação própria do XE e vivíamos tranquilamente com isso. As configurações das máquinas de desenvolvimento eram: Core 2 Duo(1.8Ghz), 2GB de RAM e HDs de 5400rpm… O que eu considero máquinas bem normais…

Clone,

as máquinas variam um pouco, porque foram sendo compradas acompanhando o crescimento do projeto, mas, em minha opinião pessoal, suportam um XE sim, ainda mais que não temos nenhum Vista no nosso setor.

Eu fiz alguns frilas anos atrás com eclipse + tomcat + XE na minha máquina de casa e ela era um XP 64 3000 com 2 GB de RAM, rodando tranquilamente.

Entretanto, existe uma resistência de ordem política quanto a adoção do XE que estou tendo problemas em contornar. Se o que eu propus for aceito, o próximo projeto será feito com bancos XE locais.

Estou torcendo :slight_smile: