Mysql
 sql >> Base de données >  >> RDS >> Mysql

Spring Data JPA avec Java 8 LocalDateTime

Selon JPA 2.1, LocalDateTime n'est pas officiellement pris en charge (probablement dans peu de temps JPA 2.,2 sera officiel). Prise en charge d'Hibernate 5 en tant que "version anticipée"

Portable et pris en charge depuis JPA 2.0 est javax.persistence.AttributeConverter , fonctionne très bien sur tous les fournisseurs JPA (et ne fait rien de mal sur Hibernate 5)

@Converter(autoApply = true)
public class LocalDateAttributeConverter implements AttributeConverter<LocalDate, Date> {

@Override
public Date convertToDatabaseColumn(LocalDate locDate) {
    return (locDate == null ? null : Date.valueOf(locDate));
}

@Override
public LocalDate convertToEntityAttribute(Date sqlDate) {
    return (sqlDate == null ? null : sqlDate.toLocalDate());
}
}