5.1.4.4. 标识字段和序列(Identity columns and Sequences)

对于内部支持标识字段的数据库(DB2,MySQL,Sybase,MS SQL),你可以使用identity关键字生成。 对于内部支持序列的数据库(DB2,Oracle, PostgreSQL, Interbase, McKoi,SAP DB), 你可以使用sequence风格的关键字生成。 这两种方式对于插入一个新的对象都需要两次SQL查询。

  1. <id name="id" type="long" column="person_id">
  2. <generator class="sequence">
  3. <param name="sequence">person_id_sequence</param>
  4. </generator>
  5. </id>
  1. <id name="id" type="long" column="person_id" unsaved-value="0">
  2. <generator class="identity"/>
  3. </id>

对于跨平台开发,native策略会从identity, sequencehilo中进行选择,选择哪一个,这取决于底层数据库的支持能力。