我想知道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