diff --git a/ebean-api/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java b/ebean-api/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java index 2867ca06c..fc7aeebdd 100644 --- a/ebean-api/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java +++ b/ebean-api/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java @@ -76,7 +76,13 @@ public class H2HistoryTrigger implements Trigger { public void fire(Connection connection, Object[] oldRow, Object[] newRow) throws SQLException { if (oldRow != null) { // a delete or update event - Timestamp now = new Timestamp(System.currentTimeMillis()); + long nowMillis = System.currentTimeMillis(); + Timestamp lastStart = (Timestamp) oldRow[effectStartPosition]; + if (lastStart != null && lastStart.getTime() >= nowMillis) { + nowMillis = lastStart.getTime() + 1; + } + + Timestamp now = new Timestamp(nowMillis); oldRow[effectEndPosition] = now; if (newRow != null) { // update event. Set the effective start timestamp to now.