NHibernate Envers版本信息的UTC时间戳

本文关键字:UTC 时间戳 信息 Envers 版本 NHibernate | 更新日期: 2023-09-27 18:19:05

我正在使用NHibernate Envers 1.6.0,需要使用UTC时间戳而不是本地的REVINFO中的REVTSTMP列。

我知道这个错误已经报告了(NHE-122),并在未来的2.0版本中修复了

是否有任何方法可以改变DefaultRevisionInfoGenerator到我自己的自定义IRevisionInfoGenerator?

NHibernate Envers版本信息的UTC时间戳

一个简单的解决方法是使用你自己的IRevisionListener。在这里,将时间戳值设置为DateTime。UtcNow之类的

假设你使用的是FluentConfiguration…

var enversCfg = new FluentConfiguration();
enversCfg.SetRevisionEntity<DefaultRevisionEntity>(r => r.Id, r=> r.RevisionDate, yourRevisionListener>();

编辑忘了说…如果你正在使用你自己的自定义修订实体(你在上面做的,即使它是"DefaultRevisionEntity"),你需要映射这个实体。