Hibernate,jdbc e sql

Oi pessoal do GUJ!

Estou me deparando com uma situacao em que configuro o ficheiro e hibernate assim como o de jdbc colocano nele o username e password da BD, mas agente sabe que a password esta sujeita a alteracoes. Como faco para os meus ficheiros assumirem qualquer password que o “sa” vier a assumir.

hibernate:
sa
12345

jdbc
jdbc:jtds:sqlserver://localhost:1433/NorthWind;user=sa;password=12345

como podem ver as passwords foram escritas de forma estatica nos ficheiros, como posso torna-las dinamicas?

Creio que senha automática não seja possível, o mais próximo disso é usar uma autenticação sem ter que incluir usuário e senha, no SQL Server você pode usar modo de segurança ‘windows authentication’ (integraded security = true), neste caso a máquina onde você está rodando a aplicação deve ter acesso ao SQL Server com este modo:
Exemplo:

Outra alternativa:

Se quiser manter somente o arquivo xml e não ter que mexer no código java onde estão os jdbc’s. (pelo menos não precisa recompilar a aplicação)

Neste caso você pode aproveitar a configuração do hibernate e colocar nos seus jdbc’s:
Eu uso JPA + Hibernate, então faço assim. Pode ser que seja um pouco diferente para você dependendo da maneira que utiliza, mas a ideia é essa:

Ejb3Configuration cfg = new Ejb3Configuration(); Configuration hbmcfg = cfg.getHibernateConfiguration(); String usuarioHibernate = hbmcfg.getProperties().getProperty("hibernate.connection.username"); String senhaHibernate = hbmcfg.getProperties().getProperty("hibernate.connection.password"); // Depois nos teus jdbc's String url="jdbc:jtds:sqlserver://localhost:1433/NorthWind;user="+usuarioHibernate+";password="+senhaHibernate;