Skip to content

Commit e1f9cca

Browse files
Narosbeikov
authored andcommitted
HHH-17080 Fix LocalDateTime resolved value precision
1 parent 7d19732 commit e1f9cca

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

hibernate-envers/src/main/java/org/hibernate/envers/internal/revisioninfo/RevisionTimestampValueResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ else if ( timestampData.isTimestampLocalDateTime() ) {
6969
return localDateTime;
7070
}
7171
else {
72-
return localDateTime.atZone( ZoneId.systemDefault() ).toInstant().getEpochSecond();
72+
return localDateTime.atZone( ZoneId.systemDefault() ).toInstant().toEpochMilli();
7373
}
7474
}
7575
return null;

hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/reventity/Custom.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
*/
77
package org.hibernate.orm.test.envers.integration.reventity;
88

9+
import java.time.LocalDateTime;
10+
import java.time.ZoneId;
911
import java.util.Arrays;
1012
import java.util.Date;
1113
import java.util.HashSet;
@@ -71,8 +73,16 @@ public void testTimestamps1() {
7173

7274
@Test
7375
public void testTimestamps() {
74-
assert getAuditReader().getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() == 1;
75-
assert getAuditReader().getRevisionNumberForDate( new Date( timestamp3 ) ).intValue() == 2;
76+
final Date date1 = new Date( timestamp2 );
77+
final Date date2 = new Date( timestamp3 );
78+
79+
assert getAuditReader().getRevisionNumberForDate( date1 ).intValue() == 1;
80+
assert getAuditReader().getRevisionNumberForDate( date2 ).intValue() == 2;
81+
82+
final LocalDateTime localDateTime1 = LocalDateTime.ofInstant( date1.toInstant(), ZoneId.systemDefault() );
83+
final LocalDateTime localDateTime2 = LocalDateTime.ofInstant( date2.toInstant(), ZoneId.systemDefault() );
84+
assert getAuditReader().getRevisionNumberForDate( localDateTime1 ).intValue() == 1;
85+
assert getAuditReader().getRevisionNumberForDate( localDateTime2 ).intValue() == 2;
7686
}
7787

7888
@Test

0 commit comments

Comments
 (0)