HiberNate生成的序列值与DB不同步

时间:2011-06-30 06:33:24

标签: oracle hibernate sequence

我使用Oracle作为后端,当我尝试插入任何条目时,hibernate生成的序列的顺序为“50010255”但在我的db中,SEQ_AD_WORK序列的当前值仅显示“1000221”我无法弄清楚这是怎么发生的。

以下是我的配置

   <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.query.startup_check">false</prop>
            <!-- 
            <prop key="hibernate.hbm2ddl.auto">create</prop>
            -->
        </props>
    </property>`

   @Id
@Column(name = "ITEM_ID", unique = true, nullable = false,  scale = 0)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_AD_WORK")
 @SequenceGenerator(name="SEQ_AD_WORK", sequenceName="SEQ_AD_WORK")
public Long getAdWorkItemId() {
    return this.adWorkItemId;
}

1 个答案:

答案 0 :(得分:5)

@Dhirendra:试试这个: -

  

@SequenceGenerator(名称= “SEQ_AD_WORK”,sequenceName = “SEQ_AD_WORK” ,, allocationSize = 1)

SequenceHiLoGenerator是JPA的默认序列生成器,默认的allocationSize值为50,