可选的<timestamp>元素指明了表中包含时间戳数据。这用来作为版本的替代。时间戳本质上是一种对乐观锁定的一种不是特别安全的实现。当然,有时候应用程序可能在其他方面使用时间戳。
<timestamp
column="timestamp_column"(1)
name="propertyName"(2)
access="field|property|nosetter|ClassName"(3)
unsaved-value="null|negative|undefined|value"(4)
/>
(1) column (可选 - 默认为属性名): 持有时间戳的字段名。
(2) name: 在持久化类中的属性名,其类型是DateTime.
(3) access (可选 - 默认是 property): NHibernate用于访问属性值的策略。
(4) unsaved-value (可选 - 默认是 undefined): 用于标明某个实例时刚刚被实例化的(尚未保存)版本属性值,依靠这个值就可以把这种情况和已经在先前的session中保存或装载的实例区分开来。(undefined指明使用标识属性值进行这种判断。)
注意, <timestamp>和<version type="timestamp">是等价的。
顶部