Comment gérer un grand ensemble de données à l'aide de Printemps, Référentiels de Données?

J'ai un grand tableau que j'aimerais accès via une source de Données du Référentiel.

Actuellement, je suis en train d'étendre le PagingAndSortingRepository interface, mais il semble que je ne peut définir des méthodes qui renvoient des listes, par exemple.:

public interface MyRepository extends 
        PagingAndSortingRepository<MyEntity, Integer>
{
  @Query(value="SELECT * ...")
  List<MyEntity> myQuery(Pageable p);
}

D'autre part, la findAll() méthode qui vient avec PagingAndSortingRepository retourne un Iterable (et je suppose que les données n'est pas chargé en mémoire).

Est-il possible de définir des requêtes qui retournent également Itérable et/ou de ne pas charger toutes les données en mémoire à la fois?

Existe-il des solutions de rechange pour la manipulation de grandes tables?

  • List met en œuvre la Iterable interface, de sorte que votre requête personnalisée méthode retourne un Iterable.
  • Je suppose que le Printemps de Données ne prend pas en charge tout en mémoire lorsque j'utilise findAll(), je me trompe? Je vais modifier la question.
  • La implémentation sous-jacente récupère simplement une liste, de sorte qu'il n'est pas sophistiquée.
  • Je vois, merci pour l'explication. Par la voie, comment voulez-vous résoudre le problème? Est l'aide de Paginable paramètres de la seule façon de ne pas charger le tout dans la mémoire?