Buscando sessions em bancos diferentes

Olá pessoal, eu uso o hibernate e a estrutura que eu tenho é de uma classe (Singleton) chamada HibernateSessionFactory que possui uma variável estática do tipo SessionFactory, quando acontece a única instanciação desta classe ela carrega o arquivo hibernate.cfg.xml para configurar a sua variável do tipo SessionFactory de acordo com os parametros do arquivo xml. E desta forma, eu também tenho os outros metodos de abrir e fechar session, e assim, os meu DAO’s simplesmente usam esta classe para buscar sessions do hibernate, no entanto, a minha dúvida é justamente como adaptar esta classe para poder se conectar a mais de um banco de dados, será que para cada conexão em banco diferente eu teria que criar uma variável do tipo SessionFactory para a classe? E como declarar no hibernate.cfg.xml propriedades com o mesmo nome para bancos diferentes? Ou será que eu crio uma classe semelhante a HibernateSessionFactory para cada tipo de conexao feita na aplicação, onde eu mudaria só a as configurações para constução do SessionFactory?
Enfim, gostaria de receber opiniões sobre como seria a melhor forma de implementar isto, algum padrao, qualquer sugestão será muito válida
Obrigado a todos.

Eu precisei disso uma única vez e fiz da forma mais simples que da. Criei 2 arquivos separados pro Hibernate e usei para criar 2 SessionFactories diferentes.

Voce vai precisar de 2 factories, não tem como escapar disso, quanto a usar arquivos separados ou não ai fica ao seu gosto. Na duvida use 2 arquivos, é a solução mais rápida para conseguir sair funcionando, voce pode arrumar melhor depois.