Skip to content

Commit e4f4c64

Browse files
committed
Fix unintended timestamp converting
1 parent 09ced6e commit e4f4c64

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

spring-jdbc-plus-support/src/main/java/com/navercorp/spring/jdbc/plus/support/parametersource/converter/Jsr310TimestampBasedConverters.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.time.LocalDate;
2424
import java.time.LocalTime;
2525
import java.time.ZoneId;
26+
import java.time.ZonedDateTime;
2627
import java.util.ArrayList;
2728
import java.util.Collection;
2829
import java.util.List;
@@ -41,20 +42,20 @@
4142
abstract class Jsr310TimestampBasedConverters {
4243

4344
static Collection<Converter<?, ?>> getConvertersToRegister() {
44-
List<Converter<?, ?>> converters = new ArrayList(8);
45+
List<Converter<?, ?>> converters = new ArrayList<>(4);
4546

4647
converters.add(LocalDateToTimestampConverter.INSTANCE);
4748
converters.add(LocalTimeToTimestampConverter.INSTANCE);
48-
converters.add(TimestampToInstantConverter.INSTANCE);
4949
converters.add(InstantToTimestampConverter.INSTANCE);
50+
converters.add(ZonedDateTimeToTimestampConverter.INSTANCE);
5051

5152
return converters;
5253
}
5354

5455
enum LocalDateToTimestampConverter implements Converter<LocalDate, Timestamp> {
5556
INSTANCE;
5657

57-
private LocalDateToTimestampConverter() {
58+
LocalDateToTimestampConverter() {
5859
}
5960

6061
@NonNull
@@ -66,7 +67,7 @@ public Timestamp convert(LocalDate source) {
6667
enum LocalTimeToTimestampConverter implements Converter<LocalTime, Timestamp> {
6768
INSTANCE;
6869

69-
private LocalTimeToTimestampConverter() {
70+
LocalTimeToTimestampConverter() {
7071
}
7172

7273
@NonNull
@@ -75,27 +76,27 @@ public Timestamp convert(LocalTime source) {
7576
}
7677
}
7778

78-
enum TimestampToInstantConverter implements Converter<Timestamp, Instant> {
79+
enum InstantToTimestampConverter implements Converter<Instant, Timestamp> {
7980
INSTANCE;
8081

81-
private TimestampToInstantConverter() {
82+
InstantToTimestampConverter() {
8283
}
8384

8485
@NonNull
85-
public Instant convert(Timestamp source) {
86-
return source.toInstant();
86+
public Timestamp convert(Instant source) {
87+
return Timestamp.from(source);
8788
}
8889
}
8990

90-
enum InstantToTimestampConverter implements Converter<Instant, Timestamp> {
91+
enum ZonedDateTimeToTimestampConverter implements Converter<ZonedDateTime, Timestamp> {
9192
INSTANCE;
9293

93-
private InstantToTimestampConverter() {
94+
ZonedDateTimeToTimestampConverter() {
9495
}
9596

9697
@NonNull
97-
public Timestamp convert(Instant source) {
98-
return Timestamp.from(source);
98+
public Timestamp convert(ZonedDateTime source) {
99+
return Timestamp.from(source.toInstant());
99100
}
100101
}
101102
}

0 commit comments

Comments
 (0)