我正在尝试通过Spring JPA流式传输整个数据库(约22,000条记录)。使用FindAll()方法可以将它们插入,但是它们都被立即带入内存。我想流式传输它们。
我试过streamAll():
@Repository
public interface GroupJsonRepository extends CrudRepository<GroupJson, String> {
Stream<GroupJson> streamAll();
}
但我得到一个奇怪的错误:
No property streamAll found for type GroupJson!
我的对象是:
@Entity
@Table(name = "GroupJson")
public class GroupJson {
@Id
private String id;
private String hash;
private String jsonData;
private ZonedDateTime lastUpdatedTimeStamp;
...
我可以使用另一个存储库吗?我只能找到CrudRepository。或者,还有其他一些神奇的JPA关键字有效吗?我正在使用Spring Boot 1.5.9,并且正在其他地方传输数据,但是我正在使用自定义调用:
Stream<Authority> findByPartitionKey(Long partitionKey);
最佳答案
您也可以使用查询,
@Query("select gj from Customer gj")
Stream<GroupJson> streamAll();