java吧 关注:1,256,763贴子:12,750,267
  • 5回复贴,共1
用户有很多朋友这样的关系。
是只写一个user类,user类中有个friends:List<user>对象。
还是说写一个user类,一个friend类,但是friend类中包含两个userid,一个是用户,一个是用户的朋友。
还是说用什么其他方法写


IP属地:浙江来自Android客户端1楼2022-03-24 20:57回复


    IP属地:浙江2楼2022-03-24 21:03
    回复
      这得看你数据存储以及你这个实体是用来干啥的。这种自关联多对多就是很烦。
      举个例子,如果只是用来展示好友列表,那最简单的方案就是我的查询实体里只有一个List<String>里面放一定数量的用户id,redis缓存里放用户的id与名字的散列映射,从数据库查出好友id的话再从redis里映射出名字列表就行了


      IP属地:辽宁来自Android客户端3楼2022-03-24 21:42
      回复
        总之就是不要总想着一个实体能解决单表的业务问题。讨论实体里放啥得看你这个实体是Vo,Bo还是Dto,具体的业务是啥样的


        IP属地:辽宁来自Android客户端4楼2022-03-24 21:44
        回复
          当然,从实际角度出发,这种相互之间都有可能有关系的数据结构用关系型数据库存储终究是有问题的,neo4j这种图数据库才是完善的解决方案,你查询的时候就不用纠结实体怎么写,cypher咋写实体跟着写就完了。


          IP属地:辽宁来自Android客户端5楼2022-03-24 21:47
          收起回复