Mudar de banco Hibernate (tempo de execução)

Olá pessoal.
Queria saber como faço pra na própria aplicação que está rodando eu escolher qual conexão com o banco eu quero usar.
Por exemplo: na property do hibernate.cfg.xml

        <property name="hibernate.connection.url">
            jdbc:mysql://localhost:3306/banco

eu queria poder, em tempo de execução, poder desconectar desse banco e acessar um banco2 por exemplo.

Alguém poderia me dar uma luz?

Desde já agradeço!

Basta você passar a conexão JDBC que você quer que o Hibernate use na hora de criar uma Session na SessionFactory.

valeu Maurício… vou tentar!
:smiley:

Olá Maurício,

olha só eu tava indo testar a dica q vc me passou, então ao ler a documentação do hibernate eu me deparei com isso ( http://www.hibernate.org/hib_docs/v3/api/org/hibernate/SessionFactory.html ):

[quote]public Session openSession(Connection connection)Open a Session on the given connection.
Note that the second-level cache will be disabled if you supply a JDBC connection. Hibernate will not be able to track any statements you might have executed in the same transaction. Consider implementing your own ConnectionProvider.
[/quote]

eu não entendi o que é este second-level cache que vai ser desativado se eu passar uma conexão JDBC. E pelo que diz a documentação essa não me parece uma prática muito legal. Você poderia me clarear isso aí?

ah… outra dúvida: neste caso, passando a conexão na SessionFactory eu solucionava o inconveniente da senha do banco ficar exposta no hibernate.cfg.xml ?? Ou existe outra técnica mais apropriada?

Agradeço desde já.