2010-11-16 38 views
1

我需要我的應用程序與兩個不同的數據庫進行通信,這兩個數據庫本身被複制(使用Postgres流式複製)。原因是我希望所有的讀取都針對一個數據庫發生,並針對另一個數據庫進行寫入。休眠與不同的數據庫交談

我在我的應用程序中使用hibernate。有沒有一種方法可以實現這一目標?

-Thanks

編輯:是的,請在是否有什麼我想實現是有意義的評論。

回答

1

Hibernate支持分片。看看它可以幫助你:http://www.hibernate.org/subprojects/shards.html

如果你使用彈簧,那麼我知道有一種方法來動態切換數據源。查找更多信息here

這是一個計算器類似的問題: Handling Multiple databases with NHibernate in a single application

而且同一種在其他論壇上討論的問題: http://forum.springsource.org/showthread.php?t=12665

+0

是的,我們確實使用彈簧。這很有趣,讓我進一步探索......謝謝 – user497488 2010-11-16 00:58:08

0

在我簡單地生產兩屆工廠過去,並使用一個用於只讀塊和一個用於讀寫塊的工作。我構建了讀寫工廠,然後將配置更改爲具有不同的連接提供者,並添加一個攔截器來捕獲任何修改嘗試並構建第二個。

這種方法的一個問題是L2緩存一致性,儘管這是Hibernate緩存和複製數據庫的一個普遍問題。