Skip to content

Commit a7f1c0d

Browse files
committed
HHH-18532 Using 'module one day' logic to convert epoch time in milliseconds into java.sql.TiMe
1 parent 8986f15 commit a7f1c0d

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public Object unwrap(Date value, Class type, WrapperOptions options) {
139139
if ( java.sql.Time.class.isAssignableFrom( type ) ) {
140140
return value instanceof java.sql.Time
141141
? ( java.sql.Time ) value
142-
: new java.sql.Time( value.getTime() );
142+
: new java.sql.Time( value.getTime() % 86_400_000 );
143143
}
144144

145145
if ( Date.class.isAssignableFrom( type ) ) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public <X> X unwrap(LocalDateTime value, Class<X> type, WrapperOptions options)
104104

105105
if ( java.sql.Time.class.isAssignableFrom( type ) ) {
106106
Instant instant = value.atZone( ZoneId.systemDefault() ).toInstant();
107-
return (X) new java.sql.Time( instant.toEpochMilli() );
107+
return (X) new java.sql.Time( instant.toEpochMilli() % 86_400_000 );
108108
}
109109

110110
if ( Date.class.isAssignableFrom( type ) ) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public <X> X unwrap(OffsetDateTime offsetDateTime, Class<X> type, WrapperOptions
159159
}
160160

161161
if ( java.sql.Time.class.isAssignableFrom( type ) ) {
162-
return (X) new java.sql.Time( offsetDateTime.toInstant().toEpochMilli() );
162+
return (X) new java.sql.Time( offsetDateTime.toInstant().toEpochMilli() % 86_400_000 );
163163
}
164164

165165
if ( Date.class.isAssignableFrom( type ) ) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public <X> X unwrap(ZonedDateTime zonedDateTime, Class<X> type, WrapperOptions o
126126
}
127127

128128
if ( java.sql.Time.class.isAssignableFrom( type ) ) {
129-
return (X) new java.sql.Time( zonedDateTime.toInstant().toEpochMilli() );
129+
return (X) new java.sql.Time( zonedDateTime.toInstant().toEpochMilli() % 86_400_000 );
130130
}
131131

132132
if ( Date.class.isAssignableFrom( type ) ) {

0 commit comments

Comments
 (0)