我应该何时在数据模型中使用地图?

时间:2017-02-22 13:00:13

标签: java json dictionary model

我正在使用java作为我的数据库开发MongoDB网络应用程序 在对我的数据对象进行建模时,我想知道何时应该使用Map以及何时创建另一个对象。

例如,我们说我有一个包含角色的User和一个Role模型。
我可以用包含Map <String, Role>或角色列表的方式编写用户。

user: {
  roles: {
    admin: {
      key1: value,
      key2: value
    },
    ...
  }
}

user: {
  roles: [{
    id: admin,
    key1: value,
    key2: value
  },
  ...
}    

虽然第一种方式似乎更适合客户端访问角色(user.role.admin),但我倾向于选择第二种解决方案,因为它可以更容易扩展,我可以避免疯狂的嵌套map s比如<String, Map<String, Map<String, MyModel>>> 我应该如何建模我的数据,何时我的模型应包含Map s?

0 个答案:

没有答案