日期:2014-05-16  浏览次数:20377 次

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>

?