import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
@Converter(autoApply = true)
public class LocalDateTimeToTimestampConverter implements AttributeConverter<LocalDateTime, Timestamp> {
@Override
public Timestamp convertToDatabaseColumn(LocalDateTime attribute) {
ZonedDateTime zonedDateTime = attribute.atZone(ZoneId.of("UTC"));
return Timestamp.from(zonedDateTime.toInstant());
}
@Override
public LocalDateTime convertToEntityAttribute(Timestamp dbData) {
return dbData.toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
}
}