2008-11-14 166 views
0

在一個ORM,你可以有很好的語法是這樣的:ORM解決方案查詢

my $results = Model.objects.all()[10]; 

而在Django的ORM甚至很好地全部通過ORM處理外鍵關係和多對多關係。

然而,在MySQL可以運行這樣的查詢:

SELECT t1.column1 
,  t2.column2 
,  t3.column3 
FROM db1.table AS t1 
,  db2.table AS t2 
,  db3.table AS t3 
WHERE t1.id = t2.t1_id 
AND t1.id = t3.t1_id 
LIMIT 0,10 

我正在尋找能夠原生支持這些類型的查詢,但實在看不出什麼,做一個ORM。

是否有任何現有的ORM可以做到這一點?還是有解決這個問題的其他策略?

每當我使用像django這樣的框架來構建網站時,我已經將所有內容都保存在同一個數據庫中,因爲我知道這個限制。現在我正在處理分佈在許多不同數據庫中的數據,除了命名空間以外沒有任何明顯的原因。

回答

2

值得看的東西比ORM更低一級?例如,沿着C-JDBC的方向提供了一個'虛擬'數據庫驅動程序,它與幕後的數據庫集羣交談。 (表可以分佈在不同的服務器上)

(我意識到你在使用Python,所以這個特定的例子只有在你能夠在JVM上運行Jython作爲一個集成這種方式的平臺時纔有用 - 但是我猜測類似的庫可能存在更接近適合您的具體要求)

+0

謝謝,這是一個很好的建議。 – 2008-11-14 17:18:19