spring jpa,findAll(Iterable <integer> userIds)

时间:2017-10-15 05:32:45

标签: performance spring-data-jpa

通过传递UUID的大小为n的列表调用spring jpa中的findAll(ListU ..),当启用sql日志时,我发现n个sql被记录,我假设DB被调用n次(列表大小)获取记录。

是否可以只调用一次DB来一次获取所有记录,以便提高性能

1 个答案:

答案 0 :(得分:0)

除了您的实体具有复合键之外,

Spring Data对此方法使用IN关闭。这只是一个查询。

因此,您看到的多个查询很可能是您的JPA实现决定返回仅具有id的代理,然后根据需要延迟加载属性。请参阅您正在使用的实现文档,了解如何防止/控制它。