Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

278
Visualizações
Devuelve un objeto personalizado de Spring Data con Native Query

Mi pregunta se basa en otra publicación . ¿Cómo puedo lograr lo mismo con una consulta nativa? Las consultas nativas no permiten JPQL, por lo que tampoco permiten nuevas instancias.

Mi POJO.

 class Coordinates { private final BigDecimal latitude private final BigDecimal longitude ... }

La tabla de mi base de datos contiene coordenadas para el perímetro de las ciudades, por lo que hay tres columnas: city_name, latitud, longitud. Cada ciudad contiene muchas (en realidad, MUCHAS) coordenadas perimetrales que se utilizarán para construir un área de sombra en Google Maps.

Tengo la intención de crear una consulta nativa simple en esa tabla que debería devolver una lista de coordenadas.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Encontré la respuesta en otra publicación . Básicamente, utilicé SqlResultSetMapping junto con ConstructorResult (no funcionó de otra manera) con especial atención a un comentario sobre la respuesta aceptada de la publicación mencionada: debe agregar la anotación @NamedNativeQuery a la entidad de la interface utilizada Y anteponer el nombre de la entidad con un . de lo contrario no funcionará.

Ejemplo:

 @Entity @Table(name = "grupo_setorial") @SqlResultSetMapping( name = "mapeamentoDeQuadrantes", classes = { @ConstructorResult( targetClass = Coordenada.class, columns = { @ColumnResult(name = "latitude"), @ColumnResult(name = "longitude") } ) } ) @NamedNativeQuery( name = "GrupoCensitario.obterPerimetroDosSetores", query = "SELECT latitude as latitude, longitude as longitude FROM coordenadas where id_setor IN (:setores)", resultSetMapping = "mapeamentoDeQuadrantes" ) public class GrupoCensitario {
about 4 years ago · Santiago Trujillo Relatório

0

Este es https://jira.spring.io/browse/DATAJPA-980 y aquí hay un proyecto que demuestra el problema.

 @Query(value = "SELECT name AS name, age AS age FROM Person", nativeQuery = true) List<PersonSummary> findAllProjectedNativeQuery();

Se solucionó en la versión Spring Data JPA 2.0 GA (Kay) que viene con Hibernate 5.2.11.

El problema también se solucionó para Spring Data 1.10.12 (Ingalls) y 1.11.8 (Hopper), pero deberá ejecutarse en Hibernate 5.2.11 para que funcione.

about 4 years ago · Santiago Trujillo Relatório

0

Tendrá que usar el mapeo del conjunto de resultados sql que es parte de JPA.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda