Printemps de Données: JPA référentiel findAll() pour retourner *la Carte au lieu de la Liste?

J'ai un Spring Data JPA référentiel d'interface qui ressemble à quelque chose comme ceci:

@Repository
public interface DBReportRepository extends JpaRepository<TransactionModel, Long> {

    List<TransactionModel> findAll();
    List<TransactionModel> findByClientId(Long id);
}

Est-il une solution pour faire la même chose mais pour une Collection à être retourné de type HashMap<K, V>? J'ai regardé à travers le Printemps classes de Données et ne pouvait pas trouver autre chose que la Liste des<> les valeurs de retour.

  • Il n'est pas tout, ce qui vous empêche de le faire vous-même?
  • tu veux dire créer une telle fonction pour le printemps des données moi-même?
  • Créer une fonction pour vous-même, je veux dire, où que vous soyez à l'appel de ce référentiel, après le chargement de la liste, vous pouvez l'associer à Map avec Java 8 one-liner.
  • c'est une possibilité. Je ne suis pas sûr si c'est bon en termes de performance. Itération prend du temps, surtout quand mon <List> contient 10 000 - 100 000 Transaction objets. J'ai pour correspondre à l'identité de deux <List> avec Transaction objets et je me demandais si je peux raser un peu de temps en utilisant *Map constructions lors de la correspondance. Mais si je ne peux obtenir un <List> puis de le convertir en *Map et puis faire de la correspondance, je ne suis pas tout à fait sûr que cela va m'apporter toutes les améliorations de la vitesse.
  • Comment votre sql ressembler à? Quelle sera la clé et ce qui est de la valeur?
  • la clé serait la id et valeur = Transaction objet
  • et id est la même id de ses Transactions en valeur?
  • oui, c'est vrai
  • pouvez-vous fournir plus d'informations dans votre question, ce que vous voulez vraiment faire et comment le plan devrait ressembler. Je pense que vous pourrez également utiliser une map<Long, de la Liste<Opération>>?
  • la carte ressemble à ceci: Map<Long, Transaction> transactionMap = new HashMap<Long, Transaction>();
  • Carte n'est pas pris en charge type de retour pour le Printemps référentiel de Données, les méthodes donc @Patrick réponse ci-dessous est la bonne solution.
  • itération entraînera dans le temps linéaire de la complexité, ce qui vous permettra d'obtenir de toute façon, si vous avez besoin de visiter chaque élément, donc ce n'est pas un problème: en.wikipedia.org/wiki/Time_complexity

InformationsquelleAutor Deniss M. | 2017-01-26