sql >> Base de Datos >  >> NoSQL >> MongoDB

Spring Data MongoDB con Java 8 LocalDate MappingException

Escribí este pequeño código para las 4 opciones de conversión:

  • DateToLocalDateTimeConverter
  • Convertidor de fecha a fecha local
  • LocalDateTimeToDateConverter
  • Convertidor de fecha a fecha local

Aquí hay un ejemplo

public class DateToLocalDateTimeConverter implements Converter<Date, LocalDateTime> {

    @Override 
    public LocalDateTime convert(Date source) { 
        return source == null ? null : LocalDateTime.ofInstant(source.toInstant(), ZoneId.systemDefault()); 
    }
}

Todos los ejemplos aquí.

Luego, al incluir esto en la configuración xml para la conexión mongodb, pude trabajar en java 8 fechas con mongodb (recuerde agregar todos los convertidores):

<mongo:mapping-converter>
    <mongo:custom-converters>
        <mongo:converter>
            <bean class="package.DateToLocalDateTimeConverter" />
        </mongo:converter>
    </mongo:custom-converters>
</mongo:mapping-converter>