Vraptor + Hibernate 4

8 respostas
danilomcb

Olá galera. Estou com uma grande dúvida e gostaria que alguém me ajudasse.

Estou trabalhando em um projeto utilizando vraptor e hibernate onde tenho dois bancos de dados (Sql Server) no qual preciso me conectar. A minha dúvida eh, como persistir o segundo banco utilizando injeção de dependência do vraptor?

Estou utilizando essas classes para poder configurar o hibernate no meu projeto: https://github.com/garcia-jj/vraptor-plugin-hibernate4/tree/master/src/main/java/br/com/caelum/vraptor/plugin/hibernate4

Agradeço a ajuda. Estou parado por causa disso. :cry:

8 Respostas

Hebert_Coelho

Pq você não injeta dois entity managers? Um para cada banco? Aí basta você apontar para qual irá salvar.

danilomcb

Eu teria que criar um cópia para cada classe dessa que eu estou utilizando. Nova SessionFactoryCreator, nova SessionCreator, novo ConfigurationCreator… Gostaria de uma solução menos custosa, utilizando apenas essas classes existentes.

Lucas_Cavalcanti

usando só as classes existentes não vai rolar… pq vc precisa identificar qual entityManager vc quer no momento…

vc tah usando spring, guice ou pico como container?

danilomcb

Exatamente isso que eu quero. :slight_smile: Tenho que criar dois SessionFactory a partir dos arquivos de configuração do hibernate? Como fazer isso?

Estou utilizando Spring.

Lucas_Cavalcanti

use o Spring pra gerenciar o banco então…

vc vai precisar tirar o pacote do hibernate da configuração do vraptor,

criar um applicationContext.xml no classpath

configurar dois sessionFactories do Spring com nomes diferentes

usar o OpenSessionInViewFilter do spring

configurar o spring transaction via anotaçoes

nos daos, receber as sessionFactories com @Qualifier(“nomeQueVcConfigurou”)

Usar o SessionFactoryUtils ou o HibernateTemplate pra fazer as operaçoes.

vc consegue achar todas essas informações por aí, talvez tenha boa parte delas no apêndice da apostila do vraptor

danilomcb

Não tenho muita experiência com Spring. Muito do que você falou é desconhecido pra mim, mas vou pesquisar um pouco,
aprender mais e tentar fazer. Muito Obrigado, ajudou muito Lucas Cavalcanti.

Se alguém tiver algum material explicando como fazer isso, será de grande ajuda.

Lucas_Cavalcanti

tem um pouco no apendice da apostila do vraptor:

http://www.caelum.com.br/curso/fj-28

danilomcb

Problema resolvido. vlw Lucas.

Criado 30 de outubro de 2012
Ultima resposta 7 de nov. de 2012
Respostas 8
Participantes 3