如果类的一个特定属性有着数据库生成的值, 通常在第一次插入实体行的时候. 典型的数据库生成的值是创建的时间戳, 还有其它默认值等.
使用 property 映射中的 generated 开关启用这个自动刷新:
1 | <?xml version="1.0"?> |
其中, 最下面createTime的配置:
1 | <property name="createTime" type="java.util.Date" generated="insert" not-null="true"> |
关于 generated 的适用值说明:
- never(默认): 标明此属性值不是从数据库中生成, 也就是根本不用刷新实体类了.
- insert: 标明此属性值在insert的时候生成, 但是不会在随后的update时重新生成. 也就是只在insert情况下才会刷新实体类.
- always: 标明此属性值在insert和update时都会被生成, 也就是在insert, update情况下都会刷新实体类.
sql-type 指生成的时间的类型
default Hibernate本身提供 _current_date_, _current_timestamp_ 和 _current_time_ 三种函数.