Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

505
Views
Asignar columna de matriz a interfaz de proyección: sin asignación de dialecto para tipo JDBC: 2003

Estoy tratando de mapear el resultado de una consulta nativa con uniones a Proyección (Interfaz) que no es una entidad. Tengo que mapear los codes| text[]| de matriz de Postgres | codes| text[]| a String[] getCodes(); en la interfaz de proyección. Con Entity, se puede mapear fácilmente definiendo los tipos a continuación y luego anotando las propiedades

 @TypeDef( name = "string-array", typeClass = StringArrayType.class ) })

Pero lo mismo parece no funcionar con las proyecciones. ¿Hay alguna forma de hacer lo mismo con la proyección sin convertir la matriz en texto en la consulta misma?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

¿Qué hace su consulta nativa? ¿Quizás pueda usarBlaze-Persistence Entity Views además de JPA/Hibernate en lugar de permanecer en el ámbito del modelo JPA?

Blaze-Persistence es un generador de consultas sobre JPA que admite muchas de las características avanzadas de DBMS sobre el modelo JPA. Creé Entity Views encima para permitir un mapeo fácil entre modelos JPA y modelos definidos por interfaz personalizada, algo así como Spring Data Projections con esteroides. La idea es que defina su estructura de destino de la manera que desee y asigne atributos (captadores) a través de expresiones JPQL al modelo de entidad. Dado que el nombre del atributo se usa como asignación predeterminada, en su mayoría no necesita asignaciones explícitas, ya que el 80 % de los casos de uso es tener DTO que son un subconjunto del modelo de entidad.

Un mapeo DTO para su modelo podría verse tan simple como lo siguiente

 @EntityView(SomeEntity.class) interface SomeEntityProjection { Integer getId(); String[] getCodes(); }

Consultar es una cuestión de aplicar la vista de entidad a una consulta, siendo la más simple una consulta por id.

SomeEntityProjection dto = entityViewManager.find(entityManager, SomeEntityProjection.class, id);

Pero la integración de Spring Data le permite usarlo casi como Spring Data Projections: https://persistence.blazebit.com/documentation/entity-view/manual/en_US/index.html#spring-data-features

Solo buscará las asignaciones que le indiques que busque.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!