MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Spring Data MongoDB com Java 8 LocalDate MappingException


Eu escrevi este pequeno código para todas as 4 opções de conversão:
  • DateToLocalDateTimeConverter
  • DateToLocalDateConverter
  • LocalDateTimeToDateConverter
  • LocalDateToDateConverter

Aqui está um exemplo
public class DateToLocalDateTimeConverter implements Converter<Date, LocalDateTime> {

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

Todos os exemplos aqui.

Então, incluindo isso na configuração xml para a conexão mongodb, consegui trabalhar em datas java 8 com mongodb (lembre-se de adicionar todos os conversores):
<mongo:mapping-converter>
    <mongo:custom-converters>
        <mongo:converter>
            <bean class="package.DateToLocalDateTimeConverter" />
        </mongo:converter>
    </mongo:custom-converters>
</mongo:mapping-converter>