我正在使用JPA
和Facebook
登录我的应用。用户登录后,通过Facebook
id检查每个用户是否在我们的数据库中。我创建了一个for
循环,每次执行select
查询。这种方法很慢。有没有更好的方法让它更快?
代码是
for (User friend : friends) {
User current = userManager.find(friend.facebookId);
If (null != current) { friend.setId(current.getId);}}
答案 0 :(得分:0)
您可以使用IN执行单个查询。但是,启用缓存后,如果朋友可能在缓存中,则通过id查询可能是最快的方法。
Select f from Friend f where f.id in :ids