package net.unit8.occupypub.converter; import javax.persistence.AttributeConverter; import javax.persistence.Converter; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Date; /** * @author kawasima */ @Converter(autoApply = true) public class LocalDateConverter implements AttributeConverter<LocalDate, Date> { @Override public Date convertToDatabaseColumn(LocalDate localDate) { return new Date(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); } @Override public LocalDate convertToEntityAttribute(Date date) { return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).toLocalDate(); } }