【发布时间】:2020-09-19 09:29:32
【问题描述】:
我在数据库中保存了大约 100 个不同类型的库存,用于一个属性 有这样的代码会更好吗
List<Inventory> type1s = inventoryRepo.findByPropertyIdAndType(propertyId, Type1);
List<Inventory> type2s = inventoryRepo.findByPropertyIdAndType(propertyId, Type2);
Map<InventoryType, List<Inventory>> typeListMap = new HashMap<>();
typeListMap.put(Type1, type1s);
typeListMap.put(Type2, type2s);
或
List<Inventory> inventories = inventoryRepo.findByPropertyIdAndTypeIn(propertyId
, Arrays.asList(Type1, Type2));
Map<InventoryType, List<Inventory>> typeListMap = inventories.stream().collect(
Collectors.groupingBy(Inventory::getType, Collectors.toList()));
注意:数据库是 postgresql。 我认为第二种方法更好,遵循最小数据库调用的规则。但是我是否遗漏了其他一些需要考虑的关键方面?
【问题讨论】:
标签: java sql postgresql java-8