通过MAP加载数据库子集

给实体加载子集的算法

有a b两张表,b表是a表的子表,b表的columnB字段关联a表的columnB字段

第一种情况

A表中columnB不重复

查询出A的列表 List<A> aList

将aList转化为Map<columnB,A> map

查询出关联的B列表 List<B> bList

循环bList通过columnB字段在map中查询出对应的A 将子集放入A中

第二种情况

今天发现复合主键表中会出现columnB字段重复的情况将,字段重复以后会覆盖map中的A。

改进代码

查询出A的列表 List<A> aList

将aList转化为Map<columnB,List<A>> map

查询出关联的B列表 List<B> bList

循环bList通过columnB字段在map中查询出对应的List<A> aList2

循环aList2 将子集放入对应元素

猜你喜欢

转载自qinglong1234.iteye.com/blog/2294046