Java 我如何流<;GroupJson>;以及使用JPA的整个数据库?
我试图通过SpringJPA在整个数据库(大约22000条记录)中传输数据。使用FindAll()方法,我可以将它们放入内存,但它们会立即全部放入内存。我想用流媒体传送它们 我已经试过了 我的目标是:Java 我如何流<;GroupJson>;以及使用JPA的整个数据库?,java,hibernate,spring-data-jpa,Java,Hibernate,Spring Data Jpa,我试图通过SpringJPA在整个数据库(大约22000条记录)中传输数据。使用FindAll()方法,我可以将它们放入内存,但它们会立即全部放入内存。我想用流媒体传送它们 我已经试过了 我的目标是: @Entity @Table(name = "GroupJson") public class GroupJson { @Id private String id; private String hash; private String jsonData;
@Entity
@Table(name = "GroupJson")
public class GroupJson {
@Id
private String id;
private String hash;
private String jsonData;
private ZonedDateTime lastUpdatedTimeStamp;
...
我是否可以使用另一个存储库来执行此操作?我只能找到积垢。或者,还有其他一些神奇的JPA关键词有效吗?我使用的是Spring boot 1.5.9,我在别处传输数据,但我使用的是自定义调用:
Stream<Authority> findByPartitionKey(Long partitionKey);
streamfindbypartitionkey(长分区键);
您也可以使用查询
@Query("select gj from Customer gj")
Stream<GroupJson> streamAll();
@Query(“从客户gj中选择gj”)
streamAll();
您必须在方法声明中包含“By”部分,以使Spring数据能够解析您的方法名称。这就是为什么你会犯奇怪的错误。Spring数据将streamAll解释为实体中的属性
@Repository
public interface GroupJsonRepository extends CrudRepository<GroupJson, String> {
Stream<GroupJson> streamAllBy();
}
@存储库
公共接口GroupJsonRepository扩展了Crudepository{
Stream streamAllBy();
}
如果不想加载所有数据,可以使用分页。Iterable findAll()
已在crudepository
@Query("select gj from Customer gj")
Stream<GroupJson> streamAll();
@Repository
public interface GroupJsonRepository extends CrudRepository<GroupJson, String> {
Stream<GroupJson> streamAllBy();
}