5.6. 数据库生成属性(Generated Properties)

Generated properties指的是其值由数据库生成的属性。一般来说,如果对象有任何属性由数据库生成值,Hibernate应用程序需要进行刷新(refresh)。但如果把属性标明为generated,就可以转由Hibernate来负责这个动作。实际上。对定义了generated properties的实体,每当Hibernate执行一条SQL INSERT或者UPDATE语句,会立刻执行一条select来获得生成的值。

Properties marked as generated must additionally be non-insertable and non-updateable. Only versions, timestamps, and simple properties can be marked as generated.

never (默认) 标明此属性值不是从数据库中生成。

insert - states that the given property value is generated on insert, but is not regenerated on subsequent updates. Things like created-date would fall into this category. Note that even thought version and timestamp properties can be marked as generated, this option is not available there...

always - 标明此属性值在insert和update时都会被生成。