Skip to content

Commit 670de92

Browse files
committed
HHH-18532 Using java.util.Calendar instead of java.time.* clases to convert milliseconds into java.sql.Time
1 parent 9a87812 commit 670de92

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

hibernate-core/src/main/java/org/hibernate/type/descriptor/java/AbstractTemporalJavaType.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
package org.hibernate.type.descriptor.java;
66

77
import java.sql.Time;
8-
import java.time.Instant;
9-
import java.time.LocalTime;
10-
import java.time.ZoneId;
8+
import java.util.Calendar;
119
import java.util.Comparator;
1210

1311
import jakarta.persistence.TemporalType;
@@ -65,9 +63,14 @@ private <X> TemporalJavaType<X> forMissingPrecision(TypeConfiguration typeConfig
6563
}
6664

6765
public static Time millisToSqlTime(long millis) {
68-
final LocalTime localTime = Instant.ofEpochMilli( millis ).atZone( ZoneId.systemDefault() ).toLocalTime();
69-
final Time time = Time.valueOf( localTime );
70-
time.setTime( time.getTime() + localTime.getNano() / 1_000_000 );
66+
Calendar calendar = Calendar.getInstance();
67+
calendar.setTimeInMillis( millis );
68+
calendar.set(Calendar.YEAR, 1970);
69+
calendar.set(Calendar.MONTH, 0);
70+
calendar.set(Calendar.DAY_OF_MONTH, 1);
71+
72+
final Time time = new Time(millis);
73+
time.setTime( calendar.getTimeInMillis() );
7174
return time;
7275
}
7376

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/type/java/DateSubclassesUnwrapTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-License-Identifier: LGPL-2.1-or-later
2+
* SPDX-License-Identifier: Apache-2.0
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.mapping.type.java;

0 commit comments

Comments
 (0)