2010-11-16 9 views
1

J'ai besoin de mon application pour parler à deux bases de données différentes, qui sont elles-mêmes répliquées (en utilisant la réplication de diffusion Postgres). La raison en est que je veux que toutes les lectures se passent contre une base de données et écrit contre l'autre.Hibernate parlant à différentes bases de données

J'utilise hibernate dans mon application. Existe-t-il un moyen original d'y parvenir?

-Merci

modifier: Et oui, s'il vous plaît dire si ce que je suis en train d'atteindre un sens.

Répondre

1

Hibernate prend en charge le sharding. Voyez si cela vous aide: http://www.hibernate.org/subprojects/shards.html

Si vous utilisez le ressort, alors je sais qu'il existe un moyen de changer dynamiquement la source de données. Plus d'informations here

Ceci est une question similaire de stackoverflow: Handling Multiple databases with NHibernate in a single application

Aussi même genre de question dans d'autres discussions forum: http://forum.springsource.org/showthread.php?t=12665

+0

oui nous utilisons le printemps. C'est intéressant, laissez-moi explorer plus loin ... merci – user497488

0

Dans le passé, je l'ai simplement produit deux usines de session, et utilisé un pour les morceaux de travail en lecture seule et un pour les morceaux de travail en lecture-écriture. Je construis l'usine de lecture-écriture, puis change la configuration pour avoir un fournisseur de connexion différent et ajoute un intercepteur pour piéger toutes les tentatives de modification et construire le second. Un problème avec cette approche est la cohérence du cache L2, bien que ce soit un problème général avec la mise en cache Hibernate et les bases de données répliquées.

Questions connexes