sql >> Database teknologi >  >> NoSQL >> MongoDB

Spring Data MongoDB med Java 8 LocalDate MappingException

Jeg skrev denne lille smule kode til alle 4 af disse konverteringsmuligheder:

  • DateToLocalDateTimeConverter
  • DateToLocalDateConverter
  • LocalDateTimeToDateConverter
  • LocalDateToDateConverter

Her er et eksempel

public class DateToLocalDateTimeConverter implements Converter<Date, LocalDateTime> {

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

Alle eksempler her.

Så ved at inkludere dette i xml-konfigurationen til mongodb-forbindelsen var jeg i stand til at arbejde i java 8-datoer med mongodb (husk at tilføje alle konvertere):

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


  1. Hvordan indsætter man et dokument i mongodb ved hjælp af mongoose og får det genererede id?

  2. MongoDB $min

  3. Opdater flere elementer i et array i mongodb

  4. Hvorfor frarådes KEYS at blive brugt i Redis?