我需要一个帮助。我有一个表-ACCOUNT,其中存储USER_ID和ACCOUNT_DETAIL。单个USER_ID具有多个ACCOUNT_DETAIL的多个记录。我想将此记录存储在Map中,其中USER_ID将是键,而Account List将是值。我得到了USER_ID的列表从USER表中。然后,对于每个用户标识,我需要获取帐户详细信息。
我可以通过实现以下algorithm \ logic来填充该地图:
步骤1:从USER表中获取用户ID并将其存储在列表中-userList
步骤2:
for (User user : userList) {
// Make a DB call to ACCOUNT table for user.id
// Put those details in the map - map.put(user.id, accountList)
}
但是这里的问题是,如果USER表具有1K记录,我必须从该循环中进行1K db调用,最终将导致性能问题。您能否告诉我是否有更好的方法可以使用Hibernate实现此目标?
使用HQL连接查询(ACCOUNT和USER)来获取所有帐户并通过迭代帐户来构建映射。
select acc from Account acc, User usr where acc.userId = usr.id