根据版本列创建基于列的NHibernate

本文关键字:于列 NHibernate 创建 版本 | 更新日期: 2023-09-27 18:03:46

我正在尝试创建一个created_on列-这个列应该存储行创建的日期和时间。

我还使用了一个版本列-一个保存记录的最后更新时间的列,这是Nhibernate提供的。

我要做的是复制版本列值created_on列时,行插入到db。意思是,如果版本被修改并且实体是新的(我们正在预冲洗),我需要将版本列的值放在created_on列内,就是这样。

到目前为止,我只设法在使用拦截器和重写PreFlush插入后进行额外更新。

我正在使用Oracle的Nhibernate 3有什么建议吗?

根据版本列创建基于列的NHibernate

我对Nhibernate一无所知,但是…据我所知……为什么不使用数据库触发器?插入后触发。

或者,更简单(或太简单),您可以使用默认值sysdate创建created_on列。

听起来你正在使用"DB时间戳"版本控制。可以使用普通时间戳吗?如果您在代码中设置这些值,这就变得微不足道了。

另一种选择是将创建的列设置为不可变(只读),并使用数据库级别默认值CURRENT_TIMESTAMP。这应该在插入的两个列中为您提供相同的值,如果我是正确的,您正在使用DB设置版本列。