5.1.4.2. 高/低位算法(Hi/Lo Algorithm)

hiloseqhilo生成器给出了两种hi/lo算法的实现, 这是一种很令人满意的标识符生成算法。第一种实现需要一个“特殊”的数据库表来保存下一个可用的“hi”值。 第二种实现使用一个Oracle风格的序列(在被支持的情况下)。

  1. <id name="id" type="long" column="cat_id">
  2. <generator class="hilo">
  3. <param name="table">hi_value</param>
  4. <param name="column">next_value</param>
  5. <param name="max_lo">100</param>
  6. </generator>
  7. </id>
  1. <id name="id" type="long" column="cat_id">
  2. <generator class="seqhilo">
  3. <param name="sequence">hi_value</param>
  4. <param name="max_lo">100</param>
  5. </generator>
  6. </id>

很不幸,你在为Hibernate自行提供Connection时无法使用hilo。 当Hibernate使用JTA获取应用服务器的数据源连接时,你必须正确地配置 hibernate.transaction.manager_lookup_class