Saltar al contenido

java.time.LocalDate no es compatible con las consultas nativas de la última versión de Spring Data / Hibernate?

Solución:

Parece que encontró un hueco en los convertidores. Spring Data se convierte de forma inmediata entre java.util.Date y java.time.LocalDate pero no entre java.time.LocalDate y java.sql.Date y otros tipos relacionados con la fecha y la hora en el java.sql paquete.

Puede crear su propio convertidor para hacer eso. Puede utilizar Jsr310JpaConverters como plantilla.

Además, es posible que desee crear una solicitud de función y, si crea un convertidor para su uso, incluso puede enviar una solicitud de extracción.

Sé que esta es una pregunta anterior, pero mi solución a este problema no requiere un convertidor personalizado.

    public interface BirthdayRepository<T, ID extends Serializable> extends Repository<T, ID> {
      @Query(value = "select cast(day as date) from birthdays", nativeQuery = true)
      Iterable<java.time.LocalDate> getBirthdays();
    }

los CAST le dice a JPQL que use los tipos de fecha y hora de Java disponibles en lugar de java.sql.Date

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *