2017-10-15 81 views
0

Spring jpa中的findAll(ListU ..)通過傳遞UUID的大小爲n的列表來調用,當sql日誌啓用時,我發現有n個sql記錄,我假設DB是被調用n次(列表大小)來獲取記錄。spring jpa,findAll(Iterable <Integer> userIds)

可以說,它是可以調用DB只一次一次使性能得以提高

回答

0

春數據使用的IN收盤除非你的實體也有複合鍵這種方法獲取的所有記錄。這已經只是一個查詢。

因此,您看到的多個查詢很可能是您的JPA實現決定使用id返回代理,然後按需按需延遲加載屬性。請參閱您正在使用的實施文檔以瞭解如何預防/控制該問題。

相關問題