OK. I think I have found it. So, after the persist() method, the modifiedAt has not been changed. But after the "flush" the modifiedAt field has been changed to a correct value. And on refresh() the modifiedAt is changed back to its previous value. I think that is somewhat incorrect behavior, since refresh() does not change the modified field that has been flushed out, and hence there is an inconsistency between the "Update" and the "UpdateTimestamp". I hope you agree with the discrepancy. I guess I have to go digging why we need the refresh(), which was determined some months ago due to some other corner case. |