如何在休眠状态下将结果存储到Map中?

问题描述 投票:0回答:1

我需要一个帮助。我有一个表-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实现此目标?

java hibernate hibernate-mapping
1个回答
0
投票

使用HQL连接查询(ACCOUNT和USER)来获取所有帐户并通过迭代帐户来构建映射。

select acc from Account acc, User usr where acc.userId = usr.id
© www.soinside.com 2019 - 2024. All rights reserved.