@DBRef---------------springMVC

来源:互联网 发布:安卓游戏编程教程 编辑:程序博客网 时间:2024/05/29 07:34

简单认识下@DBRef这个注解的作用,和使用例子。

//存mongo数据库的model@Document(collection = "abc")public class Abc {@Idprivate String id;@DBRefprivate List<B> Bs;@DBRefprivate User creator;}
//Abc数据结构如下:{  "_id" : ObjectId("5539e10914ea279b6f96d84b"),  "Bs" : [{      "$ref" : "Cs",      "$id" : ObjectId("5524e3f677c8175d2c37c624")    }, {      "$ref" : "Cs",      "$id" : ObjectId("545a0d0ea52e28109b0ab3e9")    }, {      "$ref" : "Cs",      "$id" : ObjectId("5548b078b8480d45f4ad2996")    }],  "creator" : {    "$ref" : "users",    "$id" : ObjectId("5270a8c52f2e24ff4094285a")  }}


简单总结:
就是在model  Abc 里面联表查询数据库里面其他表的信息。
也就是在获得Abc这个model数据的时候,他会自动的根据Abc表里面的数据去查另外相关联的表。
就下面而言;
获得Abc实例abc的时候,会根据 abc.Bs的值,去查表Cs (这个是表名,不是对应model的Class)获得对应类型的model数据实例,填充到abc中,完善abc的Bs属性--字段值。
同理也会去查users表,获得creator的完整信息




0 0