Spring Data JPA: Comment peut-Requête en retour des Non - Entités d'Objets ou d'une Liste d'Objets?

Je suis à l'aide de spring data JPA dans mon projet. Je suis à jouer avec des millions d'enregistrements. J'ai une exigence où je dois récupérer les données pour les différents tableaux et de construire un objet, puis de le peindre sur une INTERFACE utilisateur. Maintenant comment réaliser ce mon de Printemps, Référentiels de données. J'ai lu que cela peut être réalisé par des indigènes des requêtes.

Si le nom indigène de la requête ne renvoie pas à une entité ou une liste de
entités, nous pouvons tracer le résultat de la requête à un type de renvoi correct par
à l'aide de @SqlResultSetMapping annotation.

Mais quand j'essaie d'utiliser @SqlResultSetMapping c'est une autre entityResult. Dire ce que je comprends, c'est que c'est juste de la transformation de certains du résultat de la requête de l'entité résultat défini uniquement, mais je veux un résultat de non - entités objets.

@SqlResultSetMapping(
    name="studentPercentile",
    entities={
        @EntityResult(
           entityClass=CustomStudent.class,
              fields={
                  @FieldResult(name="id", column="ID"),
                  @FieldResult(name="firstName", column="FIRST_NAME"),
                   @FieldResult(name="lastName", column="LAST_NAME")
              }         
        )
   }
) 
@NamedNativeQuery(
    name="findStudentPercentile", 
    query="SELECT * FROM STUDENT", 
    resultSetMapping="studentPercentile")

Dans l'exemple ci-dessus, je suis juste essayer d'obtenir les résultats de l'étudiant de l'Entité dans une autre pojo 'CustomStudent " qui n'est pas une entité. (Cet exemple, je suis en train d'exécuter juste pour POC objet, réel de cas d'utilisation est beaucoup plus compliqué, avec compliqué requête qui renvoie les différents resultset).

Comment atteindre au-dessus de cas d'utilisation? Est-il un autre moyen en plus de l'utilisation de requête de nom que mon dépôt de la méthode de retour des Non - Entités objets?

  • Je suis tombé sur le même problème récemment et content de voir que quelqu'un a posté et j'ai obtenu une solution pour ça aussi!
  • Nous avons eu un problème similaire à portée de main où nous étions censés récupérer le nombre d'enregistrements à partir de trois tables et nous nous sommes retrouvés à l'aide de printemps JdbcTemplate (même si en général nous sommes à l'aide de Spring JPA Hibernate dans notre projet). Il semble trop de travail pour écrire des entités etc. tout simplement pour récupérer le nombre d'enregistrements.
InformationsquelleAutor DHRUV BANSAL | 2013-05-07