Takich rzeczy się nie przechowuje w pliku cfg.xml
Nie jest to dobry pomysł, ponieważ każdy, kto ma dostęp do pliku hibernate.cfg.xml lub pesistnce.xml, może odczytać nazwę użytkownika, hasło i nazwę hosta db.
Jednak to nie jest najgorszy problem: chodzi o to, że wiążesz kod z bazą danych. To jest niestety niepoprawne i złe rozwiązanie, ponieważ powinno się zawsze oddzielić kod aplikacji od bazy danych.
Klient musi mieć swobodę wdrażania ostatecznej aplikacji w dowolnym środowisku (np. programistycznym, testowym, integracyjnym, produkcyjnym), a każde środowisko ma własną bazę danych. Nie możesz edytować kodu przy każdej wydanej wersji.
Nawet jeśli przechowujesz właściwości połączenia z bazą danych w xml lub properties file, użytkownik końcowy może uzyskać dostęp i odczytać poświadczenia i nie możesz tego zabezpieczyć.
https://kb.sos-berlin.com/display/PKB/Using+a+Credential+Store+for+Database+Access+with+Hibernate
Istnieją dwa rozwiązania: albo zapisujesz to jako dane zaszyfrowane i uruchomienie aplikacji w kodzie źródłowym je odszyfrowuje i dopiero przy ustawieniu połączenia są one w odp. postaci, albo możesz tylko zadeklarować źródło danych w pliku hibernate hibernate.cfg.xml z jakąs konkretną nazwą, następnie te nazwe źródła danych możesz zadeklarować w pliku perpetuence.xml i następnie te dane wdrożyć bezpośrednio na serwer aplikacji
https://javaeesquad.github.io/tutorials/glassfishDatasource/glassFishDatasource.html