我想知道MongoDB的spring數據是否可以處理多個數據庫並執行跨數據庫查詢和插入。Spring數據MongoDB多個數據庫
例如,如果我想保存在DB dbA
EntityA
和EntityB
在dbB
和EntityA
已經到EntityB
的引用,將春季數據生成正確DBRef
指向正確的收集和正確的數據庫?
然後我能查詢EntityA
,然後最終懶惰取EntityB
?
嗎啡缺乏這種功能與其他的東西,我在想,如果春數據使得大跳水和開溝嗎啡前了吧。
我想知道MongoDB的spring數據是否可以處理多個數據庫並執行跨數據庫查詢和插入。Spring數據MongoDB多個數據庫
例如,如果我想保存在DB dbA
EntityA
和EntityB
在dbB
和EntityA
已經到EntityB
的引用,將春季數據生成正確DBRef
指向正確的收集和正確的數據庫?
然後我能查詢EntityA
,然後最終懶惰取EntityB
?
嗎啡缺乏這種功能與其他的東西,我在想,如果春數據使得大跳水和開溝嗎啡前了吧。
的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);
謝謝奧利弗。我嘗試在註釋中設置db屬性,但似乎DBRef的$ db字段未寫入數據庫。這是正常的嗎? Spring是否有自己的方式從第二個數據庫中取回沒有$ db字段的實體?謝謝。 – azpublic 2013-03-04 15:53:57
我也會對這個答案感興趣,這是一個很有價值的問題。不過,我認爲你應該像設置一樣在Hello World上試試,並將你的發現作爲答案報告回去......我認爲這將有助於本頁面的未來發現者! – ppeterka 2013-03-01 11:01:19