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

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

//存mongo数据库的model
@Document(collection = "abc")
public class Abc {

	@Id
	private String id;
	@DBRef
	private List<B> Bs;
	@DBRef
	private 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的完整信息




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值