Files
garage_appointment/src/main/java/de/etecture/ga/config/DataBaseConfiguration.java
2024-09-09 21:13:43 +02:00

41 lines
1.1 KiB
Java

package de.etecture.ga.config;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.Arrays;
import java.util.List;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.convert.ReadingConverter;
import org.springframework.data.convert.WritingConverter;
import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration;
import org.springframework.stereotype.Component;
@Component
public class DataBaseConfiguration extends AbstractJdbcConfiguration {
@Override
protected List<?> userConverters() {
return Arrays.asList(new DurationToLongConverter(), new LongToDurationConverter());
}
@WritingConverter
public class DurationToLongConverter implements Converter<Duration, Long> {
@Override
public Long convert(Duration duration) {
return duration.toSeconds();
}
}
@ReadingConverter
public class LongToDurationConverter implements Converter<Long, Duration> {
@Override
public Duration convert(Long duration) {
return Duration.of(duration, ChronoUnit.SECONDS);
}
}
}