2013-03-01 112 views
0

我想知道MongoDB的spring數據是否可以處理多個數據庫並執行跨數據庫查詢和插入。Spring數據MongoDB多個數據庫

例如,如果我想保存在DB dbAEntityAEntityBdbBEntityA已經到EntityB的引用,將春季數據生成正確DBRef指向正確的收集和正確的數據庫?

然後我能查詢EntityA,然後最終懶惰取EntityB

嗎啡缺乏這種功能與其他的東西,我在想,如果春數據使得大跳水和開溝嗎啡前了吧。

+0

我也會對這個答案感興趣,這是一個很有價值的問題。不過,我認爲你應該像設置一樣在Hello World上試試,並將你的發現作爲答案報告回去......我認爲這將有助於本頁面的未來發現者! – ppeterka 2013-03-01 11:01:19

回答

1

DbRef標註有db屬性,以便您可以定義引用將被存儲在數據庫中,以便假設這樣一個模型:

class EntityA { 
    @DbRef(db = "dbB") EntityB entityB; 
} 

class EntityB { … } 

interface ARepository extends Repository<EntityA, Long> { … } 
interface BRepository extends Repository<EntityB, Long> { … } 

你的客戶端代碼應該是這個樣子:

EntityB b = new EntityB(…); 
EntityA a = new EntityA(…); 
a.setB(b); 

// store A manually first 
aRepository.save(a); 
bRepository.save(b); 
+0

謝謝奧利弗。我嘗試在註釋中設置db屬性,但似乎DBRef的$ db字段未寫入數據庫。這是正常的嗎? Spring是否有自己的方式從第二個數據庫中取回沒有$ db字段的實體?謝謝。 – azpublic 2013-03-04 15:53:57