Définition de propriétés par programmation dans Hibernate
Comment puis-je m'assurer que toutes les propriétés sont chargés à partir de hibernate.cfg.xml, puis ajouter d'autres propriétés par programmation? J'ai vu l'extrait de code suivant, mais il ressemble à une configuration totalement nouvelle, pas un plus à un existant.
Configuration c = new Configuration();
c.configure();
c.setProperty("hibernate.connection.username", "abc" );
c.setProperty("hibernate.connection.password", "defgh629154" );
source d'informationauteur KyleM
Vous devez vous connecter pour publier un commentaire.
L'extrait de code que vous a montré ce dont vous avez besoin. Il suffit d'utiliser votre configuration existante au lieu d'en créer un nouveau.
Si ce n'est pas vous qui instancie la configuration (mais, par exemple, le printemps), vous devez étendre la classe qui la crée.
Vous extrait de code doit charger
hibernate.cfg.xml
à partir de la racine du classpath et ensuite d'ajouter ou de remplacer les propriétés de configuration de la programmation . Donc , assurez-vous que votre dite "existanthibernate.cfg.xml
" est à la racine du classpath.Si votre "existant
hibernate.cfg.xml
" n'est pas sur la racine du classpath , mais dans un paquet , vous pouvez le charger en spécifiant son chemin d'accès au package dans la configuration de la() , aimeCela fonctionne correctement que ce que je pensais
À l'aide de
.configure()
fait d'Hibernation pour chercher lehibernate.cfg.xml
fichier. Donc, si vous ne voulez pas utiliser lehibernate.cfg.xml
fichier, ne pas utiliser de.configure()
.Vous pourriez peut-être créer votre configuration comme ceci:
et ensuite appliquer vos paramètres spécifiques.
J'ai supposé que vous ne souhaitez instancier votre Configuration vous-même. Si vous avez besoin pour obtenir à partir de ce qui a instancié par exemple, au Printemps LocalSessionFactoryBean si c'est ce que vous êtes en utilisant.