Ho una tabella di grandi dimensioni a cui vorrei accedere tramite un archivio dati Spring.Come gestire un ampio set di dati utilizzando i Data Reporter di Spring?
Attualmente, sto cercando di estendere l'interfaccia PagingAndSortingRepository
ma sembra che posso solo definire metodi che restituiscono liste, ad es .:
public interface MyRepository extends
PagingAndSortingRepository<MyEntity, Integer>
{
@Query(value="SELECT * ...")
List<MyEntity> myQuery(Pageable p);
}
D'altra parte, il metodo findAll()
che viene fornito con PagingAndSortingRepository
rendimenti un Iterable
(e suppongo che i dati non siano caricati in memoria).
È possibile definire query personalizzate che restituiscono anche Iterable e/o non caricano tutti i dati in memoria in una sola volta?
Esistono alternative per la gestione di tavoli di grandi dimensioni?
'List' implementa l'interfaccia' Iterable', quindi il metodo di query personalizzato restituisce un 'Iterable'. – zagyi
Suppongo che Spring Data non carichi tutto in memoria quando utilizzo findAll(), ho sbagliato? Modificherò la domanda. –
[implementazione sottostante] (https://github.com/SpringSource/spring-data-jpa/blob/master/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java#L247) recupera semplicemente un elenco, quindi non è così sofisticato. – zagyi