Java Spring开发一次性将对象的所有子对象从数据库中拉取出来是否合理?

比如:
有一个Company公司类,
Company公司类中有一个List<User>用户列表,
User类中有一个Address类用于存放用户的若干地址。

那么,现在有这样一种系统设计思路:
传一个公司id给后端,则在后端直接构造出该公司实例以及其下所有用户对象以及各个用户对象下的所有地址信息。
最后生成的对象就像这样:

Company{
    User{
        Address{}
        Address{}
    }
    User{
        Address{}
    }
    User{
        Address{}
        Address{}
        Address{}
    }
}

这样设计有一个好处是你要使用的时候可以直接Company.User[i].Address[j]来调用你想用的信息。但是在构造它的时候会耗费大量的数据库查询性能并且可能存在数据不同步问题。

想问下大家,这种系统设计思路,是否合理?


慕妹3146593
浏览 195回答 2
2回答

心有法竹

如果这些数据都需要用到,可以全部加载出来。否则就按需加载,用到的时候再加载。

泛舟湖上清波郎朗

题主这么存储想用来解决什么业务,Company.User[i].Address[j]这种方式,感觉也就是用来便利,并没有节省查询的效率呀,单纯是为了便利列表的话,除非需求很频繁,能节省构建。其他情况,没看出什么效率上的优势。
打开App,查看更多内容
随时随地看视频慕课网APP