2013-07-05 60 views
0

我使用JPAFacebook登錄我的應用程序。在用戶登錄後,服務器通過Facebook id檢查每個用戶是否在我們的數據庫中。我創建了一個for循環,每次執行select查詢。這種方法很慢。有沒有更好的方法使其更快?優化JPA中的數百個選擇查詢

的代碼是

for (User friend : friends) { 
     User current = userManager.find(friend.facebookId); 
If (null != current) { friend.setId(current.getId);}} 
+0

請提供查詢的一些代碼片段和for循環, – nif

+1

請澄清一些事情。如果我是用戶並且登錄,有多少查詢會運行? –

+0

你好,我剛剛把代碼。謝謝 – Yangrui

回答

0

你可以用在執行一個查詢來代替。但是,啓用緩存後,如果朋友可能在緩存中,通過id查詢可能是最快的方法。

Select f from Friend f where f.id in :ids