De retour d'objet personnalisé à partir du Printemps de Données avec une Requête Native
Ma question est basée sur un autre post. Comment puis-je obtenir le même avec une requête native? Natif de requêtes ne permettent pas JPQL donc ne permettent pas de nouveaux cas, soit.
Mon POJO.
class Coordinates {
private final BigDecimal latitude
private final BigDecimal longitude
...
}
Ma table de base de données contient les coordonnées pour les villes périmètre, donc il y a trois colonnes: city_name, de la latitude, de la longitude. Chaque ville contient beaucoup (vraiment BEAUCOUP) de périmètre de coordonnées qui seront utilisés pour construire une zone d'ombre dans Google Maps.
J'ai l'intention de construire une simple requête native sur cette table qui doit renvoyer une liste de coordonnées.
Voici un bon exemple.
Veuillez vous référer à ma réponse dans stackoverflow.com/questions/29082749/...
Veuillez vous référer à ma réponse dans stackoverflow.com/questions/29082749/...
OriginalL'auteur Sidney de Moraes | 2017-03-19
Vous devez vous connecter pour publier un commentaire.
Trouvé la réponse sur un autre post. Fondamentalement, j'ai utilisé
SqlResultSetMapping
avecConstructorResult
(pas d'autre moyen fonctionné) avec une attention particulière pour l'un commentaire sur la accepté de répondre à ce post: vous devez ajouter le@NamedNativeQuery
annotation à l'entité de lainterface
ET faire précéder le nom de l'entité avec un.
, sinon ça ne fonctionne pas.Exemple:
cela fait quelque temps que j'ai fait ce donc honnêtement, je ne me souviens pas du "faire précéder le nom de l'entité avec un
.
" partie, mais j'ai collé au-dessus de ce qui est actuellement en production.Le Préfixer le nom de l'entité de la partie clarifiée car c'est important. Si votre nativequery nom est obterPerimetroDosSetores et le nom de l'entité est GrupoCensitario, alors vous avez besoin de le nommer GrupoCensitario.obterPerimetroDosSetores dans le @NamedNativeQuery pour le Printemps pour être en mesure de comprendre à partir de l'pensions que le obterPerimetroDosSetores requête est dans le GrupoCensitario classe. Espérons que cela aide.
OriginalL'auteur Sidney de Moraes
C'est https://jira.spring.io/browse/DATAJPA-980 et Ici est un projet qui illustre le problème.
Il est fixé au Printemps de Données JPA 2.0 GA (Kay) communiqué de presse qui vient avec Hibernate 5.2.11.
La question est également fixé pour le Printemps de Données 1.10.12 (Ingalls) et 1.11.8 (Trémie) mais devront être exécutées sur Hibernate 5.2.11 de travail.
org.springframework.data.repository.*
. Dans ce cas, je dirais johncena la réponse est la.PersonSummary n'est pas une entité
si vous n'avez pas les entités à tous, pourquoi utiliser le printemps-référentiels de données, de toute façon? Cette finder ne peut agir comme une méthode complémentaire à un déjà créé Printemps référentiel de données. Sinon j'irais avec la plaine jdbcTemplate+rowmapper solution .
J'aimerais garder la commodité d'utilisation de l'interface de dépôt avec une seule annotation comme
@Query
au lieu d'avoir à traiter avec injection de Gestionnaires d'entités et de tous les trucs de ce genre.Le billet vous lien est fixé pour les versions 1.10.12 et 1.11.8 trop, mais encore le code donné ne fonctionne pas.. 🙁 Selon l'auteur, vous avez besoin d'Hibernate Hibernate 5.2.11 ou plus récent, trop..
OriginalL'auteur ltsallas
Vous devrez utiliser sql ensemble de résultats de la cartographie qui fait partie de la JPA.
SqlResultSetMapping
nativement fonctionne uniquement avec les Entités et ne fonctionne pas pour les non-entité POJO du comme on le voit sur ce post. Je vais faire un essai avecConstructorResult
.Donc,
ConstructorResult
est le chemin à parcourir. Veuillez cocher la réponse que j'ai ajouté.OriginalL'auteur johncena
Si vous utilisez une version récente de
spring-data
et aussi faire usage de laRepositories
, personnellement, je pense que la réponse de Itsallas amène vers la bonne solution.Je n'avais vraiment pas maintenant, à propos de Printemps (de Données)
Projections
encore et a besoin d'un moment pour comprendre ce qu'il montrait dans son exemple.Donc je veux juste ajouter un lien vers les
Spring Data JPA - Reference Documentation
, avoir un regard sur le Projections chapitre.OriginalL'auteur morecore