hibernate oracle id 配备策略

hibernate oracle id 配置策略

 <id name="id" column="event_id">
      <generator class="sequence"></generator>
   </id>

 

如果在每张表只是配置generator为sequence则这些表会共用一个sequence,这个sequence是hibernate会自己创建到oracle中,默认名称为:HIBERNATE_SEQUENCE;这样子会导致表中的ID虽然唯一,但由于跟其他表共用,所以很多情况会出现不连续,看起来有点怪。

 

为了让每张表有自己的sequence,需要多加一个配置,就是为每张表在配置个sequence,名称自己取,如下:

 <id name="id" column="event_id">
      <generator class="sequence">

           <param name="sequence">DEPARTMENT_ID_SEQ</param>

      </generator>
   </id>