嗨,我使用spring数据来映射我的实体和存储库。映射非常简单:
public class Car {
Set<Part> parts;
}
public class Part {
}
我使用spring数据存储库的findAllByIds(Iterable)接口。它以下列形式生成一个很好的sql:
select from CAR where id in (?, ?, ?, ?)
对于每辆车,它只执行一个SQL。
Select from Part where car_id = ?
当相关部分被提取时,我的问题就开始了。它似乎是逐个取出它们。 Spring数据中是否有jdbc等同于hibernate中的批量提取?
如果答案是否定的,那么有一些相对简单的方法来实现它吗?
不幸的是,答案是对现在这两个问题的简短回答是“不”。
如果您想实现批量选择,那么您需要做的就是提出
a)DataAccessStrategy
的新实现,它实质上实现了所有CRUD功能,和/或
b)新的EntityRowMapper
将ResultSet
行转换为实体。
如果要执行不同的SQL语句,则需要第一个。第二个,如果您考虑更改后续SQL足够。
有issues around batching that you might want to track或者如果您正在寻找的确切变体不存在,请随意创建另一个。