如何在Spring Data + Mongo中使用复杂类型?
像:
class Person {
@Id
String id;
String name;
//What can I do?
Address address
//OR
String adressId;
}
如何为服务器端使用构建此对象?
我想使用adressId,但是当我需要在某种方法中使用该地址时,我不知道如何继续。
例如:
void doWithPerson(Person person){
System.out.println(person.getAdress());//this doesn't exist with adressId
}
编辑:
我希望mongo对象为:
{
id: 1
name: 'Test'
addressId: 1//not the complext object
}
并在addressCollection中:
{
id: 1
address: 'Some info'
}
答案 0 :(得分:1)
您可以使用@DBRef
注释将另一个对象的引用存储到您的类对象中,例如:
@DBRef(lazy = true)
Address address;
这样,您就可以找到具有特定地址ID的Person
。您还可以使用Address
类mongo repository
来独立检索Address
个对象。
Here是文档。